Reproduction Device, Program, and Reproduction Method

ABSTRACT

A BD-ROM playback apparatus for selecting and playing back one among text subtitle streams together with a moving picture. PSR  48 - 61  store Decode Capability flags whose set values indicate, for each language, whether or not a decode capability is present. Procedure executing unit  20  judges whether each text subtitle stream can be displayed, by referring to each set value of flags. Stream selection unit  17  selects a text subtitle stream judged as being able to be decoded. Here, the decode capability for a language being present indicates presence of rendering capability for converting character codes of the language into bitmaps, and support capability for supporting properties of the language. The b 16  to b 23  in PSR 30 includes a permission flag indicating whether stream selection unit  17  is permitted to select an unsupported language for which rendering capability is present but not support capability.

TECHNICAL FIELD

The present invention relates to a field of technology for displayingtext subtitles.

BACKGROUND ART

A text subtitle display is a technique for displaying subtitlesrepresented by text codes, in synchronization with each picture of amotion picture. This is one of techniques unique to BD-ROM (Blu-ray DiscRead Only Memory) playback apparatuses.

When a BD-ROM playback apparatus displays a text subtitle, the BD-ROMplayback apparatus performs a control to develop codes constituting thesubtitle into bitmaps representing fonts, and display the bitmaps insynchronization with each picture of the video stream.

This technique, with which subtitles can be created using codesequences, facilitates the creation of subtitles and makes it possibleto create subtitles of such minority languages that have not beencreated conventionally. This widens the expression of subtitles and addsmore values to the moving picture works.

A conventional technique for displaying text subtitles is disclosed inthe following document:

Document 1: Japanese Patent Application Publication No. 2000-228656.

DISCLOSURE OF THE INVENTION The Problems the Invention Is Going To Solve

Meanwhile, providing a playback apparatus that can display a subtitle ofa language which is neither the mother language of its maker nor Englishand ensuring the quality of the subtitle forces a great burden on themaker of the playback apparatus. The BD-ROM playback apparatus has apotential to display subtitles of any desired language as the www-sitebrowsing software does. From this point of view, it is thought to reducethe appeal of the BD-ROM playback apparatus if languages of subtitlesare restricted in number to ensure the quality of the subtitle. This isnot desirable to those who elaborate the standards of the BD-ROMplayback apparatus, aiming to spread its use worldwide. Accordingly,those who formulate the BD-ROM standards are facing a dilemma of havingto decide which to satisfy: a desire of users to enjoy the subtitledisplays in many languages; or a realistic demand of makers to ensurethe quality of the text subtitle displays.

It is an object of the present invention to provide a playback apparatusthat achieves harmony between a desire of users to enjoy the subtitledisplays in many languages and a realistic demand of makers to ensurethe quality of the text subtitle displays.

Means To Solve the Problems

The above object is fulfilled by a playback apparatus for selecting oneamong a plurality of text subtitle streams and playing back the selectedtext subtitle stream together with a moving picture, the playbackapparatus comprising: a register set storing therein a plurality offlags whose set values indicate, for each language, whether or not adecode capability is present; a judging unit operable to judge whetheror not each of the plurality of text subtitle streams can be decoded, byreferring to each set value of the plurality of flags in the registerset; and a selecting unit operable to select a text subtitle streamwhich was judged by the judging unit to be able to be decoded, whereinthe decode capability for a language being present indicates presence ofa rendering capability for converting character codes of the languageinto bitmaps, and a support capability for supporting properties of thelanguage, and the register set includes a permission flag that indicateswhether or not the selecting unit is permitted to select a text subtitlestream of an unsupported language for which the rendering capability ispresent but the support capability is not present.

Effects of the Invention

With the above-described construction, the maker of the playbackapparatus is merely required to set the corresponding flag to ON or OFFto switch between permitting and not permitting the selecting unit toselect an unsupported language. That is to say, by merely setting aflag, it is possible to determine whether to select an unsupportedlanguage. This makes it easier for the maker to change the settings.That is to say, it becomes easier for the maker to forbid the playbackapparatus from selecting an unsupported language in order to guaranteethe quality strictly, or to permit the user to select an unsupportedlanguage at his/her own risk.

This makes it possible for the user to display a text subtitle of anunsupported language, knowing that the text subtitle will be displayedinappropriately. This construction thus should achieve harmony betweenthe user and the maker since the user can display a subtitle of anunsupported language at his/her own risk.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 shows a form of use of a playback apparatus of the presentinvention;

FIG. 2 is an internal configuration of a BD-ROM; and

FIG. 3 schematically shows how a file to which an extension .m2ts isappended is configured;

FIG. 4 shows a data structure of PlayList information;

FIG. 5 shows the relation between an AVClip and a PL;

FIG. 6 is a close-up of an internal configuration of Subpathinformation;

FIG. 7 shows playback section definition and synchronizationspecification on a SubPlayItem time axis;

FIG. 8A shows an internal structure of an STN_Table;

FIG. 8B shows a set of an entry and an attribute corresponding to a PGstream;

FIG. 8C shows a set of an entry and an attribute corresponding to a textsubtitle stream;

FIG. 9 shows examples of AVClips that are discussed in the firstembodiment;

FIG. 10 shows an example of PlayList information that is discussed inthe first embodiment;

FIG. 11 shows a bundle of digital streams that are defined by PlayListinformation shown in FIG. 10;

FIG. 12 shows an internal configuration of a playback apparatus of thefirst embodiment;

FIG. 13 shows what type of PlayList playback time axis is defined by thePlayList information stored in a Local Storage;

FIG. 14 shows decoding results of decoding performed by a video encoderand selection results by the stream selection unit 17 added to theinternal configuration shown in FIG. 12;

FIG. 15 shows detailed setting of PSR1, PSR2, PSR17, and PSR30;

FIG. 16 shows internal configurations of PSRs 48 to 61;

FIG. 17 shows correspondence between a Decode Capability Flag and atextST_language_code in each of PSRs 48 to 61;

FIG. 18 shows values stored in PSR53, among PSRs 48 to 61;

FIG. 19 shows the meanings of textST_language_codes;

FIG. 20 shows the characteristic portion of the stream selection unit 17in the first embodiment;

FIG. 21 shows correspondence among a PSR number, a bit position, and atextST_language_code in each of PSRs 48 to 61;

FIG. 22 is a flow chart that shows the processing of the “Procedure whenplayback condition is changed”;

FIG. 23 is a flow chart that shows the setting procedure to be performedwhen a stream is changed;

FIG. 24 is a flow chart that shows the setting procedure for PSR2;

FIG. 25 is a flow chart that shows that judgment procedure for judgingwhether the decode capability for a text subtitle stream is present;

FIGS. 26A, 26B, and 26C show specific examples of text subtitle streamselections;

FIGS. 27A, 27B, and 27C show specific examples of text subtitle streamselections;

FIG. 28 is a flow chart that shows a playback procedure performed by thecontrol unit;

FIG. 29 shows an internal configuration of a text subtitle stream;

FIG. 30A shows examples of settings of style information and displayinformation;

FIG. 30B shows a composite image to be displayed with the text subtitlestream shown in FIG. 30A;

FIG. 31 is a flow chart that shows a playback processing based onSubPlayItem #y;

FIG. 32 shows an internal configuration of the Text ST decoder 12;

FIG. 33A explains the differences in layouts due to languagecharacteristics of the Japanese language;

FIG. 33B shows a layout due to language characteristics of the Arabiclanguage;

FIG. 34 shows judgment criteria for setting Decode Capabilities forthree languages, namely, Japanese, English, and Arabic;

FIGS. 35A and 35B show a subtitle in Japanese in which the verticalwriting criterion is completely supported and a subtitle in Japanese inwhich the vertical writing criterion is not completely supported;

FIG. 36 shows an internal configuration of a playback apparatus of thethird embodiment;

FIG. 37 shows bit assignments for b23 to b16 in PSR 30 according to thethird embodiment;

FIG. 38 shows a bit configuration in a reserved area of a PSR;

FIGS. 39A and 39B show menus to be displayed when the user wishes toincrease the number of the languages;

FIG. 40 is a flow chart that shows a judgment procedure for textsubtitle streams in the third embodiment;

FIG. 41 is a flow chart that shows a judgment procedure for decodecapabilities in each of the languages;

FIG. 42 is a flow chart that shows a processing procedure performed bythe set-up unit 32;

FIGS. 43A and 43B show, in comparison, settings of Decode capability fora case where the user does not wish to have displays in an unsupportedlanguage and in a case where the user wishes to;

FIG. 44 is a flow chart that shows the processing procedure performed bythe set-up unit 32 according to the fourth embodiment;

FIG. 45 shows a preloading into a buffer, performed by the loader 13;

FIG. 46 shows a selection, to be made by the stream selection unit 17,of a text subtitle stream that has not been pre-loaded;

FIG. 47 schematically shows a loading processing performed by the loader13 in a case where the user has selected, during a playback of anAVClip, a text subtitle stream that has not been pre-loaded;

FIG. 48A shows a seek from a recording area of an AVClip to a recordingarea of a text subtitle stream and a seek from a recording area of atext subtitle stream to a recording area of an AVClip;

FIG. 48B shows an interruption during a playback of AVClips due to adiscontinuity in supply of AVClips to a decoder;

FIG. 49 shows an internal configuration of a playback apparatus of thefifth embodiment;

FIG. 50 shows an example of a seamless flag provided in a reserved areaof a PSR;

FIG. 51A is an STN_Table in which a PG stream multiplexed onto an AVClipand a pre-loaded text subtitle stream, and an unpre-loaded text subtitlestream are written;

FIG. 51B shows state transitions in a case where the seamless flag isset to be on;

FIG. 51C shows state transitions in a case where the seamless flag isset to be off;

FIG. 52A shows a set-up menu to be displayed according to theembodiment;

FIG. 52B shows a menu to be displayed when the user wishes to increasethe number of the languages;

FIG. 53 is a flow chart that shows a selection procedure according tothe fifth embodiment;

FIG. 54 is a flow chart that shows in detail the processing in Step S66shown in FIG. 53;

FIG. 55 is a flow chart that shows a processing procedure performed bythe set-up unit 32;

FIG. 56A shows an internal configuration of an STN_Table according tothe sixth embodiment;

FIG. 56B shows meanings of the seamless flag provided in the STN_Table;

FIG. 57 shows an interruption during a video playback caused by loadingof font data;

FIG. 58 shows an internal configuration of a recording medium accordingto the embodiment;

FIG. 59 shows a loading processing performed by the loader 13 accordingto the sixth embodiment;

FIG. 60A shows a directory structure of a recording medium according tothe seventh embodiment;

FIG. 60B shows an internal configuration of file management information;

FIG. 61 shows how font data indicated to be necessary is loaded into abuffer;

FIG. 62 shows how a plurality of PlayItems are played back in series;

FIG. 63 shows a pre-loading performed based on an STN_Table;

FIG. 64 shows description of an STN_Table according to the ninthembodiment;

FIG. 65 shows a case in which a PID of a PG stream is written in anSTN_Table for PlayItem information #1, but a PG stream for PlayIteminformation #2 represents a blank period so that no PID of the PG streamis registered in an STN_Table for the PlayItem information #2;

FIG. 66 shows a situation in which the stream registered in theSTN_Table is only a text subtitle stream to be pre-loaded, so that thetext subtitle stream to be pre-loaded must be selected;

FIG. 67 shows a situation in which no multiplexed PG stream isregistered in an STN_Table for the PlayItem information #2 so that astream to be pre-loaded must be selected; and

FIG. 68 shows that a digital stream has been selected whose PID isregistered in an STN_Table as a dummy.

DESCRIPTION OF CHARACTERS

-   1 BD-ROM drive-   2 Local Storage-   3 operation receiving unit-   4 demultiplexing unit-   5 video decoder-   6 video plane-   7 PG decoder-   8 PG plane-   9 synthesizing unit-   10 text code buffer-   11 font buffer-   12 TextST decoder-   13 loader-   14 scenario memory-   15 control unit-   16 PSR set-   17 stream selection unit-   19 bit assignment table-   20 procedure execution unit-   21 font rendering unit-   22 expansion buffer-   23 controller-   31 self test unit-   32 set-up unit-   33 pre-load management table-   200 playback apparatus-   300 remote controller-   400 TV

BEST MODE FOR CARRYING OUT THE INVENTION First Embodiment

The following describes an embodiment of a recording medium according tothe present invention. At first, a form of use out of the forms of theimplementation of a playback apparatus pertaining to the presentinvention is described. FIG. 1 shows a form of use of a playbackapparatus of the present invention. In FIG. 1, the playback apparatus ofthe present invention is shown as a playback apparatus 200. The playbackapparatus 200 serves to supply movie productions to a home theatersystem including a remote controller 300 and a TV 400.

Thus completes the description of a form of use of the playbackapparatus according to the present invention. The following describes arecording medium being a target of a playback processing performed bythe playback apparatus of the present invention. A BD-ROM is to beplayed back by the playback apparatus of the present invention. FIG. 2shows an internal configuration of a BD-ROM.

The BD-ROM is shown at the fourth tier in FIG. 2, while a track on theBD-ROM is shown at the third tier. The track depicted in FIG. 2 resultsfrom a track spiraling from the inner circumference to the outercircumference of the BD-ROM having been drawn out to the sides. Thistrack consists of a lead-in area, a volume area, and a lead-out area.The volume area in FIG. 2 has a layered structure made up of a physicallayer, a file system layer, and an application layer. Expressing theapplication format of the BD-ROM using a directory structure gives thefirst tier in FIG. 2. As shown at the first tier, a BDMV directory isplaced below a ROOT directory in the BD-ROM.

Under the BDMV directory exist four subdirectories known as a PLAYLISTdirectory, a CLIPINF directory, a STREAM directory, and a BDJAdirectory.

The STREAM directory stores files forming the main digital stream. Inthis directory exist files (00001.m2ts to 00003.m2ts) to each of whichthe extension “mt2s” is assigned.

In the PLAYLIST directory exist files (00001.mpls to 00003.mpls) to eachof which the extension “mpls” is assigned.

In the CLIPNF directory exist files (00001.clpi to 00003.clpi) to eachof which the extension “clpi” is assigned. These files are describednext.

AVClips

The files with the extension “m2ts” are described firstly. FIG. 3schematically shows how each of the files with the extension “m2ts” isstructured. Each of the files with the extension “m2ts” (00001.m2ts,00002.m2ts, 00003.m2ts . . . ) stores therein an AVClip. The AVClip(middle tier) is constituted by multiplexing TS packets resulting fromthe conversion of a video stream composed of a plurality of video frames(pictures pj1, pj2, pj3) and an audio stream composed of a plurality ofaudio frames (the upper 1st tier) firstly to PES packets (the upper 2ndtier) and then to TS packets (the upper 3rd tier) and the conversion ofa subtitle presentation graphics stream (PG stream at the lower 1sttier) and a dialogue interactive graphics stream (IG stream at the lower2nd tier) to TS packets (the lower 3rd tier) in the same manner.

The presentation graphics stream is a graphics stream that constitutes asubtitle in each language.

The IG stream is a graphics stream for realizing interactive control andincludes graphics data for forming GUI parts such as a menu and buttonsand commands (button commands) to be executed by the playback apparatuswhen the buttons are pushed.

Among AVClips, some streams that involve multiplexing, as the one shownin FIG. 3, are called MainClips. Other streams do not involvemultiplexing. Such AVClips are called SubClips. AVClips includes onesthat form an audio stream, a PG stream, and a text subtitle stream(hereafter, simply referred to as Text ST Stream).

Clip Information

The file with the extension “clpi” (00001.clpi) includes pieces of clipinformation that are in one-to-one correspondence with AVClips. Clipinformation, being management information, contains information such asthe encoding format, frame rate, bit rate and resolution etc. of streamsin the AVClips and an EP_map showing a plurality of entry positions inthe corresponding streams.

PlayList Information

The file with the extension “mpls” (00001.mpls) stores therein PlayList(PL) information. The PlayList information defines a bundle made up oftwo types of playback paths called a MainPath and a Subpath as aPlayList (PL). FIG. 4 shows the data structure of PlayList information,which, as shown in the drawing, is constituted with MainPath information(MainPath( )) for defining a MainPath, and Subpath information (Subpath()) for defining a Subpath.

A MainPath is a playback path defined on a main AVClip, whereas aSubpath is a playback path defined on a SubClip.

Detailed Description of PlayList Information <1> MainPath

Firstly, a MainPath will be described. A MainPath is a playback pathdefined for a video stream or an audio stream constituting a main video.

A MainPath is defined with a plurality of pieces of PlayItem information( . . . PlayItem ( ). . . ), as shown with the arrow mp1. The PlayIteminformation defines one or more logical playback sections thatconstitute the MainPath. The configuration of the PlayItem informationis shown in a close-up with the leader mp2. As shown with this leader,the PlayItem information is composed of a “Clip_Information_file_name”showing a file name for playback section information of an AVClip towhich an IN point and an OUT point of the playback section belongs,“IN_time” which is time information indicating a starting point of theplayback section, and “OUT_time” which is time information indicating anending point of the playback section, and an “STN_Table” showing theones that are playable out of elementary streams multiplexed ontoAVClips and SubClips.

FIG. 5 shows the relation between an AVClip and PlayList information.The 1st tier shows the time axis of the AVClip, while the 2nd tier showsthe time axis of the PlayList information. The PlayList informationincludes three pieces of PlayItem information (PlayItems #1, #2, and#3). Three playback sections are defined by the In_times and Out_timesof PlayItems #1, #2 and #3. A time axis different from the AVClip timeaxis is defined when these playback sections are lined up. This is thePL time axis shown at the 2nd tier. Defining a different time axis tothe AVClip is thus enabled by the definitions in the PlayIteminformation.

Detailed Description of PlayList Information <2> Subpath

Whereas a MainPath is a playback path defined on a video stream or anaudio stream constituting a main video, a Subpath is a playback pathdefined on a subtitle stream or an audio stream to be synchronized witha MainPath.

In a MainPath, a video stream constituting a main video forms one streamobtained by multiplexing with a related audio stream and the like. Sincestreams that are necessary in order to generate BD contents arerecognizable in advance, all the streams to be played back insynchronization are multiplexed together to form one stream. Incontrast, a Subpath is a stream that does not get multiplexed but needsto be played back in synchronization, such as a subtitle stream havingbeen downloaded. For example, when a movie production is to bedistributed to various areas of the world, people who are in charge ofauthoring may wish to add a Japanese language subtitle to BD-ROMsshipped for Japan, although the BD-ROMs shipped for European andAmerican countries only have an English language subtitle. However,taking a trouble of generating a stream that constitutes a Japanesesubtitle and multiplexing the stream onto a video stream will cost toomuch.

As for BD-ROMs, with the use of SubPath information, it is possible toadd, as a Subpath, a subtitle stream that constitutes a Japanesesubtitle to a Main path. One of the advantageous features of the Subpathis to make it possible to create a Japanese language version.

FIG. 6 is a close-up of an internal configuration of Subpathinformation. As shown with the arrows sh1, each Subpath is composed ofone or more pieces of SubPlayItem information ( . . . SubPlayItem ( ). .. ). Each piece of SubPlayItem information is composed of, as shown withthe arrows sh2, a “Clip_information_file_name”, a “SubPlayItem_In_time”,a “SubPlayItem_Out_time”, a “sync_PlayItem_id”, and a“sync_start_PTS_of_PlayItem”.

The “Clip_information_file_name” is information that uniquely identifiesa SubClip that corresponds to a SubPlayItem by describing a file namefor Clip information.

The “SubPlayItem_In_time” is information that indicates a starting pointof a SubPlayItem on a playback time axis of a SubClip.

The “SubPlayItem_Out_time” is information that indicates an ending pointof a SubPlayItem on a playback time axis of a SubClip.

The “sync_PlayItem_id” is information that uniquely identifies aPlayItem with which the SubPlayItem needs to be synchronized, out ofPlayItems constituting a MainPath. The “SubPlayItem_In_time” exists on aplayback time axis of the PlayItem identified with this“sync_PlayItem_id”.

The “sync_start_PTS_of_PlayItem” indicates where a starting point of theSubPlayItem identified with the “SubPlayItem_In_time” exists on theplayback time axis of the PlayItem identified with the“sync_PlayItem_id”. While the SubPlayItem is being played back, when acurrent playback point in time has reached the point in time specifiedwith the “sync_start_PTS_of_PlayItem”, the playback with the SubPlayItemis started. In order to make a Subpath synchronize with a MainPath, a“sync_start_PTS_of_PlayItem” is used to specify which point in time inthe Mainpath is aligned with the playback starting time on the SubPath.For example, a “sync_start_PTS_of_PlayItem” is used to providespecification so that the playback of a stream identified with a SubPathis started at a position 300 seconds past the start of the playback onthe MainPath. On the playback apparatus side, a clock counter transfers,at appropriate timing, the stream that constitutes the Mainpath and thestream that constitutes the Subpath to the demultiplexing unit. Sincethe clock counter clocks a current time based on a time clocked by aclock generator with the same time precision level, it is possible tosynchronize, with a high precision level, the playback of the MainPathinformation with the playback of the SubPath information with the use ofthe specification by the “sync_start_PTS_of_PlayItem” as describedabove.

FIG. 7 shows playback section definition and synchronizationspecification on a SubPlayItem time axis. In the drawing, the 1st tiershows the PL time axis, while the 2nd tier shows the SubPlayItem timeaxis. The SubPlayItem.IN_time shows the starting point of the playbacksection, while the SubPlayItem.Out_time shows the ending point of theplayback section. Thus, it is apparent that a playback section is alsodefined on the SubPlayItem time axis. The Sync_PlayItem_IdindicatedbythearrowSnlshowsthesynchronizationspecification on aPlayItem, while the sync_start_PTS_of_PlayItem indicated by the arrowSn2 shows the specification of a point in time in the PlayItem on the PLtime axis.

When a current playback point in time on the playback time axis of thePlayItem has reached the point in time specified with thesync_start_PTS_of_PlayItem, a portion of the SubClip (a text subtitlestream) specified with the “Clip_Information_file_name” from theSubPlayItem_In_time to the SubPlayItem_Out_time is to be played back.With this arrangement of playback, a portion of the text subtitle streamspecified with the SubPlayItem_In_time and the SubPlayItem_Out_time isto be played back in synchronization with an AVClip. Thus completes thedescription of Subpaths.

In relation to the configuration of the PlayItem information describedabove, the STN_Table is an indispensable element in embodiments of thepresent invention. The following describes in detail the STN_Table.

Detailed Description of PlayList Information <3> STN_Table

The STN_Table is a table that shows which ones are playable out of aplurality of elementary streams multiplexed onto an AV Clip specified bya Clip_Information_file_name of a Play Item and a plurality ofelementary streams within a SubClip specified by aClip_Information_file_name of a SubPlayItem. To be more specific, theSTN_Table is configured so that an entry for each of the plurality ofelementary streams is brought into correspondence with an attribute.Here, a “playable elementary stream” basically refers to an elementarystream multiplexed on an AVClip specified by a PlayItem; however, notonly such an elementary stream but also an elementary stream (e.g. atext subtitle stream) that is recorded separately from the AVClip and isto be played back together with such an elementary stream is alsoregarded as a “playable elementary stream”.

FIG. 8A shows an internal configuration of an STN_Table. As shown in thedrawing, the STN_Table has a data structure so as to include a pluralityof sets each made up of an entry and an attribute (“entry-attribute”)and to indicate the number of the sets made up of entries and attributes

-   (i.e. number_of_video_stream_entries;-   number_of_audio_stream_entries;-   number_of_PG_textST_stream_entries; and-   number_of_IG_stream entries).

As indicated with the symbol “{” in the drawing, the sets each made upof an entry and an attribute respectively correspond to a video stream,audio streams, PG streams, text subtitle streams, IG streams, each ofwhich is playable.

The following describes in detail entry-attribute sets. FIG. 8B and FIG.8C show the details of entry-attribute sets.

FIG. 8B shows an entry-attribute set that corresponds to a PG stream. Anentry for a PG stream includes a “ref_to_stream_PID_of_mainClip” thatindicates a PID used for extracting the PG stream when the AVClip isdemultiplexed.

An attribute for a PG stream is made up of a “stream_coding_type” thatis set at 0×90 and indicates a codec of the PG stream and a “PG_languagecode” that indicates a language attribute of the corresponding PGstream. The “PG_language code” expresses the language attribute of thecorresponding PG stream using a language code according to the ISO639-2/T.

FIG. 8C shows an entry-attribute set that corresponds to a text subtitlestream (hereafter may be simply referred to as a textSTstream).

An entry for a text subtitle stream is made up of a“ref_to_subClip_entry_ID” that indicates an entry identifier of anAVClip storing the text subtitle stream, a “ref_to_subPath_ID” thatindicates an ID of synchronization information, and“ref_to_stream_PID_of_subClip” that indicates a PID appended to the textsubtitle stream.

An attribute for a text subtitle stream is made up of a“stream_coding_type” that is set at 0×92 and indicates a codec of thetext subtitle stream, a “character code” that indicates a character codeof the corresponding text subtitle stream, and a “textST_language_code”that indicates the language attribute of the corresponding text subtitlestream. The “textST_language_code” expresses the language attribute ofthe corresponding text subtitle stream using a language code accordingto the ISO 639-2/T.

Thus completes the description of the internal configuration of theSTN_Table.

Detailed Description of PlayList Information <4> Specific Example ofPlayList Information

The following describes a specific example of PlayList information,which is discussed in each embodiment. FIG. 9 shows examples of AVClipsto be discussed in the first embodiment. FIG. 10 shows an example ofPlayList information to be discussed in the first embodiment. ThePlayList information discussed in the present embodiment is made up ofthree pieces of PlayItem information (PlayItem information #1 to #3) andfour pieces of SubPath information (SubPath information #1 to #4). Outof these, the Clip_information_file_names of the four pieces of SubPathinformation indicate four pieces of Clip information that are differentfrom one another.

In a case where, of these four pieces of Clip information, the AVClipwhich corresponds to the SubPath information #1 is a text subtitlestream in the Japanese language, the AVClip which corresponds to theSubPath information #2 is a text subtitle stream in the French language,the AVClip which corresponds to the SubPath information #3 is a textsubtitle stream in the Chinese language, the AVClip which corresponds tothe SubPath information #4 is a text subtitle stream in the Arabiclanguage, each of these text subtitle streams is to be played backtogether with a MainPath, as SubPath information. The three pieces ofPlayItem information in the MainPath are the same as the ones shown inFIG. 5 and constitute a PlayList time axis. A file for Clip informationis written as the Clip information file name in the PlayIteminformation. The Clip information corresponds to an AVClip on which avideo stream and a PG stream are multiplexed.

The leaders cs1, cs2, and cs3 in the drawing close up the configurationof the STN_Tables for the PlayItem information #1 to #3. As shown withthese leaders, the PIDs of the PG stream multiplexed onto the AVClip andthe text subtitle streams specified by the pieces of SubPath informationare written in the STN_Tables. As a result, text subtitle streams infive languages, namely 1: English, 2: Japanese, 3: French, 4: Chinese,and 5: Arabic are playable.

Due to description of the PlayList information shown in FIG. 10, abundleof digital streams as shown in FIG. 11 is defined. FIG. 11 shows abundle of digital streams that are defined by PlayList information shownin FIG. 10. Since PlayItem information #1 to #3 constitute the time axisshown in FIG. 5, while PlayItem information #1, the PlayItem information#2, and PlayItem information #3 are played back on the time axis, avideo stream is played back, and also the PG stream in English and thetext subtitle streams in Japanese . . . Arabic become playable. In otherwords, while the playback on the PlayList time axis advances, theplayback of the PG stream in English and the text subtitle streams inJapanese . . . Arabic are playable. It is possible to play back, insynchronization with the video stream, one of these streams, namely, thePG stream in English and the text subtitle streams in Japanese . . .Arabic.

Thus completes the description of the recording medium. The followingdescribes a playback apparatus according to the present invention.

FIG. 12 shows an internal structure of a playback apparatus of thepresent invention. The playback apparatus of the present invention maybe industrially manufactured based on the internal configuration shownin the drawing. The playback apparatus of the present invention ismainly made up of two parts such as a system LSI and a drive apparatus.The playback apparatus may be industrially manufactured by mountingthese two parts onto a cabinet and a substrate for the apparatus. Thesystem LSI is an integrated circuit in which various processing unitsfor achieving different functions of the playback apparatus areintegrated. The playback apparatus manufactured in this way comprises aBD-ROM drive 1, a Local Storage 2, an operation receiving unit 3, ademultiplexing unit 4, a video decoder 5, a video plane 6, a PG decoder7, a PG plane 8, a synthesizing unit 9, a text code buffer 10, a fontbuffer 11, a TextST decoder 12, a loader 13, a scenario memory 14, acontrol unit 15, and a PSR set 16. The portion indicated with the brokenline in the drawing is a portion made into one chip as a system LSI.

The BD-ROM drive 1 loads/ejects, and accesses a BD-ROM.

The Local Storage 2 is a built-in medium for storing AVClips, Clipinformation, and PlayList information downloaded via a network or thelike. PlayList information stored in the Local Storage 2 is differentfrom PlayList information stored on a BD-ROM in that the PlayListinformation is able to specify both Clip Information stored on a BD-ROMand Clip information stored in the Local Storage 2. When performing sucha specifying process, PlayList information stored in the Local Storage 2does not need to use a full path to specify a file stored on a BD-ROM.The reason is because the Local Storage 2 together with a BD-ROM isrecognized as one drive being virtual (a virtual drive unit) by theplayback apparatus 200. Thus, the Clip_Information_file_name forPlayItem information and the Clip_Information_file_name for SubPlayItemInformation are able to specify AVClips in the Local Storage 2 and onthe BD-ROM by specifying 5-digit values which are the file bodies of thefiles storing the Clip information. It is possible to create a widerange of variation of playback by dynamically combining what is storedin the Local Storage 2 and what is recorded on a BD-ROM.

FIG. 13 shows what type of PlayList playback time axis is defined by thePlayList information stored in the Local Storage. The first tier shows aplayback time axis in an AVClip recorded on a BD-ROM. The second tiershows a PlayList playback time axis defined by PlayList informationstored in the Local Storage 2. As shown by these first and second tiers,the PlayList information stored in the Local Storage 2 is able to definea playback time axis of its own for the AVClip recorded on the BD-ROM.The third tier shows a SubPlayItem playback time axis for a SubPlayItemstored in the Local Storage 2. In the drawing, SubPlayItem.IN_timeindicates the starting point of a playback section whileSubPlayItem.Out_time indicates the ending point of the playback section.From this drawing, it is understood that a playback section is definedalso on the SubPlayItem time axis. The arrow Sn1 indicates asynchronization specification with respect to the PlayItem by aSync_PlayItem Id. The arrow Sn2 indicates a specification of a point intime in a PlayItem on the PL time axis by sync_start_PTS_of_PlayItem.

Accordingly, with the use of the SubPlayItem information, the playbacksection defined on the SubPlayItem playback time axis is insynchronization with the PlayList playback time axis defined by thePlayItem information stored in the Local Storage.

The PlayList information stored in the Local Storage is able to specifya PlayList playback time axis with respect to an AVClip recorded on aBD-ROM. The SubPlayItem information stored in the Local Storage is ableto specify, with respect to this playback time axis, a synchronizationwith a SubPlayItem stored in the Local Storage. Thus, in a case wherethe AVClip specified by the SubPlayItem stored in the Local Storage is atext subtitle stream, it is possible to play back the text subtitlestream in synchronization with the AVClip recorded on the BD-ROM.

Thus completes the description of the Local Storage 2.

When an operation to select a stream or the like is made on a remotecontroller or a front panel provided on the playback apparatus, theoperation receiving unit 3 outputs a piece of user operation informationindicating the operation to the stream selection unit 17.

The demultiplexing unit 4 includes a clock counter and a clockgenerator. The demultiplexing unit 4 takes out TS packets from the LocalStorage 2, and converts the TS packets into PES packets to obtain avideo stream and an IG stream, and then outputs these streams to thevideo decoder 5 and the PG decoder 7, respectively.

The video decoder 5 decode the plurality of PES packets outputted fromthe demultiplexing unit 4 to obtain a picture in an uncompressed formatand writes it into the video plane 6.

The video plane 6 is a plane for storing uncompressed pictures. A planeis a memory area in a playback apparatus for storing one screen worth ofpixel data. The video plane 6 has a 1920×1080 resolution, with storedpicture data being constituted from pixel data expressed by 16-bit YUV.

The P-graphics (PG) decoder 7 decodes presentation graphics streams readfrom a BD-ROM and writes the uncompressed graphics to the PresentationGraphics plane 8. Subtitles appear on a screen as the result of agraphics stream being decoded.

The Presentation Graphics (PG) plane 8, being a memory with room for onescreen worth of data, is able to store one screen worth of uncompressedgraphics. This plane has a 1920×1080 resolution, with pixels of theuncompressed graphics in the Presentation Graphics plane 8 beingexpressed by 8-bit index colors. Uncompressed graphics stored in thePresentation Graphics plane 8 are submitted for display by convertingthe index colors using a CLUT (Color Lookup Table).

The synthesizing unit 9 synthesizes uncompressed picture data stored inthe video plane 6 with what is stored in the Presentation Graphics plane8.

The text code buffer 10 is a buffer for storing text subtitle streamsread from a BD-ROM and the Local Storage 2. A text subtitle stream for asubtitle of a two-hour movie production has about 500K bytes; therefore,it is sufficient if the text code buffer 10 has a capacity of about 500Kbyte in order to read out a text subtitle stream and put it into thetext code buffer 10.

The font buffer 11 is for storing font data to be used to expand a codesequence constituting a text subtitle stream into a bit map. It issufficient if the font buffer 11 has a memory capacity of about 1M bytesin order to store therein the CJK fonts (fonts for the Chinese,Japanese, and Korean languages) . When these CJK fonts are stored, it ispossible to expand text subtitles in Chinese, Japanese, and Korean intobit maps.

The text ST decoder 12 expands text codes included in the text subtitlestream in the text code buffer 10 into a bit map, with the use of thefont data stored in the font buffer 11, and writes the bit map to thePresentation Graphics plane 8.

The loader 13 loads the text subtitle stream and the font data into thetext code buffer 10 and the font buffer 11. The target of the loading bythe loader 13 are text subtitle streams and font data necessary forexpanding such text subtitle streams; therefore, since the data amountis relatively small, the loader 13 is able to read out all the textsubtitle streams written in the STN_Table and put them into the textcode buffer 10 as well as to read out the font data and put it into thefont buffer 11. After the stream and the data are read and put into thebuffers in this manner, the loader 13 supplies necessary data to thetextST decoder 12 in accordance with a current playback point in time.To read out data and put it into the text coder buffer 10 or the fontbuffer 11 prior to a playback of a MainPath is referred to as “topre-load” or “pre-loading”.

The loader 13 performs a pre-loading for the following reasons. In thecase where two streams specified by MainPath information and SubPathinformation are separately recorded on a BD-ROM and on a hard diskrespectively, the data will be read from these two media respectively atthe same time. However, since the access speed to an optical disc suchas a BD-ROM is relatively slow, in the case where a stream specified byMainPath information and a stream specified by SubPath information arerecorded on a same BD-ROM, it is extremely difficult to access these twostreams while seeking is performed. Accordingly, before playback of theMainPath is started, the loader 13 reads the data specified by theSubPath information, i.e. the text subtitle stream and the font data tobe used for expanding the text subtitle stream and stores the data intothe buffers.

In the case where all the data is read into the text code buffer 10 andthe font buffer 11, it is also possible to play back a stream on theSubPath side while playing back a stream on the MainPath side. In such acase, even if only the stream on the MainPath side is played backwithout selecting the stream on the SubPath information side, as long aswhat is stored in the text code buffer 10 and the font buffer 11 is notoverwritten, it is possible to switch from the stream on the MainPathside to the stream on the SubPath side.

The scenario memory 14 is a memory for storing current PlayListinformation and current Clip information. Current PlayList informationis a piece of PlayList information that is currently a processing targetamong pieces of PlayList information recorded on a BD-ROM. Current Clipinformation is a piece of Clip information that is currently aprocessing target among pieces of Clip information recorded on a BD-ROM.

The control unit 15 performs control for reading and playing backAVClips recorded on a BD-ROM in accordance with the current PlayListinformation and the current Clip information that are read into thescenario memory 14.

The PSR set 16 is a resister that is built in the playback apparatus andis composed of a 64 individual player status/setting registers (PSRs)and 4096 individual general purpose registers (GPRs). The meanings ofsetting values in the player status/setting registers (PSRs) will bedescribed in detail later.

The stream selection unit 17 selects and plays back one of a PG streamand a text subtitle stream of which the sets made up of an entry and anattribute are written in an STN_Table. The selection made by the streamselection unit 17 is to take out a PID from a set that corresponds tothe stream number stored in a PSR, out of the entry-attribute setswritten in the STN_Table and combine either a PG stream or a textsubtitle stream that corresponds to the PID that has been taken out withmoving pictures. If the PID that has been taken out identifies a PGstream, the demultiplexing unit 4 is set so as to demultiplex the PGstream. If the PID that has been taken out identifies a text subtitlestream, the identified text subtitle stream is supplied from the textcode buffer 10 and the font buffer 11 to the TextST decoder 12.

FIG. 14 shows decoding results of a decoding performed by the videoencoder and selection results by the stream selection unit 17 added tothe internal configuration shown in FIG. 12. In this case, the decodingresults by the video encoder are a picture sequence. The selectionresults by the stream selection unit 17 is a subtitle which reads:“Actually”; “Iliedtoyou.”; and “Sorry.” The stream selection unit 17selectively combines the decoding results of the PG stream or thedecoding results of the text subtitle stream with the picture sequenceso that the playback apparatus plays back either the decoding results ofthe PG stream or the decoding results of the text subtitle stream beingcombined as a subtitle with the pictures.

Description of PSRs

Thus completes the description of the configuration of the playbackapparatus of the present invention. The following describes individualPSRs in the PSR set. Out of the PSR set, PSRs 1, 2, 15, 17, 30, and 48to 61 indicate selections of audios and subtitles and whether capabilityfor decoding the audios and subtitles is present or absent as well asthe language settings in the playback apparatus. FIG. 15 shows thedetailed settings of PSR 2, PSR 17, and PSR 30.

Detailed Description of PSRs <1> - - - PSRs 2, 17, And 30

PSR2 stores therein a stream number of a PG stream or a text subtitlestream that is currently being selected. Here, a stream number is anumeral that shows an ordinal place at which an entry-attribute set thatcorresponds to the PG stream or a text subtitle stream is written in anSTN_Table, and each stream number is dependent on an individualSTN_Table.

Further, PSR2 includes a disp_flag. When the disp_flag is set at “0”, itmeans that it is impossible to display the corresponding PG stream ortext subtitle stream. When the disp_flag is set at “1”, it means that itis possible to display the corresponding PG stream or text subtitlestream.

PSR17 indicates the setting for a subtitle language in the playbackapparatus using the language codes according to the ISO 639-2/T. Here,the language setting is to store in the playback apparatus which one ofthe 430 languages, the user wishes to use during the playback. Thelanguage setting stored in PSR17 merely reflects the user' s preference,and it does not mean that a BD-ROM has recorded thereon PG streams/textsubtitle streams that correspond to the language the user has selected.It does not mean that the playback apparatus has a Decode Capability forthe language set in PSR17, either. PSR17 merely stores therein theuser's preference as a setting for the subtitle language.

When the uppermost bit of PSR30 is set at “0”, it means that theplayback apparatus is not capable of displaying text subtitles, whereaswhen the uppermost bit of PSR is set at “1”, it means that the playbackapparatus is capable of displaying text subtitles.

Even if the playback apparatus is capable of decoding text subtitlestreams, some text subtitle streams corresponding to some languages aredecodable, while other text subtitle streams corresponding to otherlanguages are undecodable.

Detailed Description of PSRs <2> - - - PSRs 48 To 61

A text subtitle stream expresses a subtitle using character codes.However, as it is observed more prominently in Southeast Asia such as inJapan, China, and Korea, different languages may have differentcharacter codes. Accordingly, flags are prepared for different languagesrespectively, so that it is possible to judge whether a language being atarget is properly displayable or not. Each of PSRs 48 to 61 in the PSRset indicates the decoding capability for text subtitle streams in adifferent one of the languages defined with the language codes accordingto the ISO 639-2/T.

FIG. .16 shows internal configurations of PSRs 48 to 61. Each of thesquares in the drawing is a Decode Capability flag that indicates theDecode Capability in a different one of the languages.

PSRs 48 to 61 store therein as many flags as the number of thelanguages. Since only one flag is needed for a language to indicate ifthe language is displayable or not, one bit is assigned to eachlanguage. Even for a minority language used by a relatively smallernumber of people, an arrangement is made so as to indicate whether theDecode Capability for the language is present; therefore, the bitconfiguration shown in the drawing is required to use 430 or moreregister areas (i.e. 430 languages×1 bit).

Such Decode Capability flags correspond to 430 languages respectively.By referring to one of the Decode Capability flags that corresponds tothe textST_language_code written in the STN_Table, it is possible tojudge whether or not the capability is present for decoding textsubtitles in the language that corresponds to the textST_language_code.

FIG. 17 shows correspondence between a Decode Capability Flag and atextST_language_code in each of PSRs 48 to 61. Each of the DecodeCapability flags in PSRs 48 to 61 is identified with a PSR number p anda bit position q. The language attribute of the text subtitle stream isexpressed with a textST_language_code. By converting thetextST_language_code to a PSR number p and a bit position q in each ofPSRs 48 to 61, it is possible to judge whether or not the DecodeCapability for text subtitle streams is present.

FIG. 18 shows values stored in PSR 53, among PSRs 48 to 61. PSR53includes thirty-two Decode Capability flags in total. Each of thethree-byte codes such as “jpn”, “jav”, and “ita” is atextST_language_code. It is understood from the drawing that PSR53 hasthirty-two Decode Capability flags in total that are expressed withtextST_language_codes. FIG. 19 shows the meanings oftextST_language_codes. When referring to the meanings shown in thedrawing, it is understood that the three-byte code “ita” refers to theItalian language, whereas the three-byte code “jpn” refers to theJapanese language. The three-byte code “jav” refers to the Javaneselanguage. Since therest of the PSRs also indicate whether DecodeCapabilities are present or not using a value in one bit each, theDecode Capability flags for 430 languages in total are represented byPSRs 48 to 61. Thus completes the description of the characteristicportion of the PSR set according to the present embodiment. Thefollowing describes the characteristic portion of the stream selectionunit 17.

Description of the Stream Selection Unit 17

FIG. 20 shows the characteristic portion of the stream selection unit 17in the first embodiment. The stream selection unit 17 is characterizedwith that it has a bit assignment table 19 and a procedure executionunit 20.

Characteristic 1 - - - Bit Assignment Table 19

The bit assignment table 19 shows assignment of a three-byte codesequence indicating a textST_language_code and a PSR number and a bitposition in each of PSRs 48 to 61. FIG. 21 shows correspondence among aPSR number, a bit position, and a textST_language_code in each of PSRs48 to 61. As shown in the drawing, the three-byte code “jpn” being atextST_language code corresponds to the PSR number “53” and-the bitnumber “b8”.

The three-byte code “jav” corresponds to the PSR number “53” and the bitnumber “b7”.

The three-byte code “ita” corresponds to the PSR number “53” and the bitnumber “b9”.

Since these kinds of correspondence are stored, it is possible to obtaina PSR number and a bit position in PSRs 48 to 61 from atextST_language_code written in an STN_Table. By referring to theone-bit set value indicated at the PSR number and the bit position, itis possible to judge whether the Decode Capability is present for thelanguage identified with the textST_language_code. Thus completes thedetailed description of the bit assignment table.

Characteristic 2 - - - Procedure Execution Unit 20

In the case where a piece of PlayItem information is switched to anotherpiece of PlayItem information or in the case where a user has made anoperation to switch from one stream number to another, the procedureexecution unit 20 performs a predetermined procedure and writes a newstream number into PSR2. Since the stream selection unit 17 selects a PGstream or a text subtitle stream in accordance with the stream numberwritten into PSR2, one of the PG stream and the text subtitle stream isto be played back according to the setting of PSR2. The procedure to beexecuted due to a PSR2 setting resulting from the switching of PlayIteminformation will be called “Procedure when playback condition ischanged”. The procedure to be executed due to a PSR2 setting resultingfrom a user operation will be called “Procedure when a change isrequested”.

The reason why the procedure is executed when PlayItem information isswitched is because since an STN_Table exists for each piece of PlayIteminformation, there is a good possibility that some text subtitle streamthat is playable with a piece of PlayItem information may be unplayablewith another piece of PlayItem information.

In addition, the reason why the other procedure is executed when a useroperation has made is because the stream number to be stored into PSR2according to the user operation may not be always correct, and it isnecessary to make recovery in the case where an incorrect stream numberis to be written into PSR2.

In the “Procedure when playback condition is changed” and the “Procedurewhen a change is requested”, a priority order is given to each PG streamand text subtitle stream depending on the judgment results of how manyof the criteria (a) and (b) are satisfied by each of the PG stream andthe text subtitle stream. The stream number of one of the streams havingthe highest priority order is written into PSR2.

Detailed Description of the Procedure Execution Unit 20 <1> “ProcedureWhen Playback Condition Is Changed”

The processing for the “Procedure when playback condition is changed” isshown in FIG. 22. This procedure is for setting PSR2 with a combinationof two judgment steps, namely Steps S1 and S2.

In Step S1, it is judged whether or not the number of the entries in theSTN_Table is 0. In the case where the number of the entries is 0, thevalue in PSR2 is maintained in Step S3.

In Step S2, in the case where the number of the entries in the STN_Tableis not 0, it is judged whether the number of the entries in theSTN_Table is larger than a value in PSR2 and also the criterion (A) issatisfied. The criterion (A) is if the playback apparatus has acapability for decoding the text subtitle stream specified by PSR2. Ifthe judgment result of Step S2 is Yes, the value in PSR2 is maintained(Step S4). In to the case where the value in PSR2 is larger than thenumber of the entries or in the case where the criterion (A) is notsatisfied, some valid value is set into PSR2 in Step S5.

Detailed Description of the Procedure Execution Unit 20 <2> “ProcedureWhen A Change Is Requested”

The following describes the “Procedure when a change is requested”. FIG.23 is a flow chart that shows the setting procedure to be performed whenthe stream is changed. This flow chart in FIG. 23 is different from theone in FIG. 22 in that the word “PSR2” in FIG. 22 is replaced with aletter “X”. This X is a value based on a piece of User Operationinformation outputted from the operation receiving unit 3 or a buttoncommand within an IG stream.

In Step S19 shown in the flow chart, it is judged whether or not thenumber of the entries in the STN_Table is larger than X and also thecriterion (A) is satisfied. The criterion (A) is if the playbackapparatus has a capability for decoding the PG stream or the textsubtitle stream specified by PSR2. If the value X satisfies thiscriterion, X is set into PSR2 (Step S21) In the case where X is largerthan the number of the entries or in the case where the criterion (A) isnot satisfied, it is judged whether or not X is an invalid value,namely, 0×FFFF (Step S22). If X is 0×FFFF, it is considered that thenumber of the PG stream or the text subtitle stream which the userwishes to select is invalid; therefore, the value X based on the useroperation is ignored, and the value in PSR is maintained (Step S24).

In the case where the value X is not 0×FFFF, the value X is set intoPSR2 (Step S23).

Detailed Description of the Procedure Execution Unit 20 <3> ProcedureFor Setting Some Valid Value Into PSR2

In the flow chart mentioned above, the details of the processing in StepS5 and Step S23 are shown in FIG. 24. FIG. 24 is a flow chart that showsthe setting procedure for PSR2.

Each of Steps S31 and S32 in the flowchart is a loop processing in whichthe processing in Steps S33 to S35 is repeated for each of thePG_textST_streams written in the STN_Table. A PG_textST_stream being thetarget in the loop processing will be referred to as a PG_textST_streami. In Step S33, it is judged whether the stream_coding_type of thePG_textST_stream i is 0×91 or 0×92. In the case where it is 0×91, theprocedure advances to Step S34.

In step S34, it is judged whether the PG stream i satisfies the criteria(a) and (b) shown below:

-   (a): The playback apparatus has a capability for decoding the PG    stream i.-   (b): The language attribute of the PG stream i and the language    setting of the playback apparatus match.

The judgment on the criterion (b) is made by judging whether thePG_language_code in the STN_Table matches PSR17.

In Step S35, it is judged whether the textST_stream i satisfies thecriteria (a) and (b) shown below:

-   (a): The playback apparatus has a capability for decoding the text    subtitle stream i.-   (b): The language attribute of the text subtitle stream i and the    language setting of the playback apparatus match.

The judgment on the criterion (a) is made by judging whether thecorresponding bit in PSRs 48 to 61 indicates that “the decodingcapability is present”. The judgment on the criterion (b) is made byjudging whether the textST_language code in the STN_Table matches thevalue set in PSR17.

After the processing in Steps S33 to S35 is repeated for each of all thePG_textST_streams, the processing in Steps S36 to S41 is to beperformed.

In Step S36, it is judged if there are any PG streams that satisfy thecriterion (a). If no such PG stream exists, an invalid value “0×FFFF” isset into PSR2 (Step S38).

In Step S37, it is judged if there are any PG_textST_streams thatsatisfy both the criteria (a) and (b). If such PG_textST_streams exist,the one having the highest entry order rank in the STN_Table out of thePG_textST_streams satisfying both (a) and (b) is set into PSR2 (StepS39).

In Step S41, the one having the highest entry order rank in theSTN_Table out of the PG streams that satisfy only (a) and thetextST_streams that satisfy only (a) is set into PSR2. The followingdescribes the processing in the flowchart using specific examples.

Whether the Decode Capability for a text subtitle stream is present ornot is judged based on the flow chart shown in FIG. 25. FIG. 25 is aflow chart that shows that judgment procedure for judging whether theDecode Capability for a text subtitle stream is present. As shown in theflow chart, the textST_language_code for a text subtitle stream beingthe target is obtained from the STN_Table (Step S11) and by referring tothe assignment table, a PSR number p and a bit position q are identifiedthat correspond to the textST_language_code for the text subtitle stream(Step S12). It is then judged whether the q'th bit of PSR p is “1” or“0” (Step S13). In the case where the q'th bit of PSR p is “1”, it isjudged that the text subtitle stream being the target satisfies thecriterion (a) (Step S14). Conversely, in the case where the q'th bit ofPSR p is “0”, the text subtitle stream being the target does not satisfythe criterion (a) (Step S15).

Detailed Description of the Procedure Execution Unit 20 <3> SpecificExample of the Setting of PSR2

The playback apparatus discussed in this specific example has thecapabilities for decoding text subtitle streams in Japanese and Chineseas shown in FIG. 26B, but does not have the capabilities for decodingFrench and Italian. The language setting in PSR 17 is made for theChinese language.

The following discussion is based on the case where an STN_Table shownin FIG. 26B is loaded into such a playback apparatus. In the STN_Table,entries of the text subtitle streams in Japanese, French, Chinese, andArabic (textST_streams 1, 2, 3, and 4) are written.

When the STN_Table with such a description is the processing target, asshown in FIG. 26C, it is checked if each of the PG_textST_streamssatisfies the criterion (a) and (b) in Step S34 and Step S35. Here, thetext subtitle stream in Japanese satisfies only the criterion (a) out ofthe two criteria. The text subtitle stream in Chinese satisfies both thecriteria (a) and (b).

Since the criterion satisfaction of each stream has been found out, ahighest rank is given to the Chinese text subtitle stream that satisfiesboth the criteria (a) and (b). As a result, the Chinese text subtitlestream is to be selected.

Detailed Description of the Procedure Execution Unit 20 <4> SpecificExample of the Setting of PSR2

The following describes a selection of a text subtitle stream accordingto the order ranks of the entries in an STN_Table, with reference toFIG. 27. The playback apparatus discussed in this example has thecapabilities for decoding the Japanese and Chinese languages like inFIG. 26A. The language setting in PSR 17 is made for the Koreanlanguage.

The following discussion is based on the case where an STN_Table shownin FIG. 27B is loaded into such a playback apparatus. In the STN_Table,entries of the text subtitle streams in Japanese . . . Arabic(textST_streams 1, 2, 3, and 4) are written.

When the STN_Table with such a description is the processing target, asshown in FIG. 27C, it is checked if each of the PG_textST_streamssatisfies the criterion (a) and (b) in Step S34 and Step S35. Here, thetext subtitle stream in Japanese satisfies only the criterion (a) out ofthe two criteria. The text subtitle stream in Chinese satisfies only thecriterion (a), too.

When there is more than one text subtitle stream that satisfies only thecriterion (a), the order rank of each stream is determined based on theorder ranks of the entries in the STN_Table. In the present example,since the order rank for the Japanese is the highest in the STN_Table,the Japanese text subtitle stream is to be selected. Thus completes thedescription of the procedure execution unit 20. The following describesthe processing procedure performed by the control unit 15.

Characteristic 3 - - - Processing Procedure Performed By the ControlUnit 15

FIG. 28 is a flow chart that shows a playback procedure performed by thecontrol unit 15. As shown in the flow chart, a first piece of PlayIteminformation in the PlayList information is taken as PlayItem informationi so that the loop processing in Step S133 to S142 is performed. Thecontrol variable in the loop processing in Steps S133 to S142 is thevariable i. The processing of incrementing the control variable i afterperforming the processing in Steps S133 to S140 is repeated until thevariable i exceeds the number of PlayItems (Step S141).

The following describes the processing in Steps S133 to S140. In thisseries of processing, an AVClip written in theClip_information_file_name of the PlayItem information i is taken asAVClip j (Step S133) and used as the target of playback. In Step S134,the “Procedure when Playback Control is changed” is performed and thenthe drive apparatus and the decoder are instructed to play back theportion from PlayItem.In_time to PlayItem.Out_time (Step S135).

In Step S136, it is judged whether there is SubPlayItem k that specifiesPlayItem information i as a Sync_PlayItem_id. If no such subPlayItem kexists, the procedure advances to Step S141.

If such SubPlayItem k exists, an AVClip written in theClip_information_file_name of the SubPlayItem k is taken as AVClip h(Step S138), and the drive apparatus and the decoder are instructed toplay back a portion of AVClip h from Sync_Start PTS_of_PlayItem toOut_time (Step S140) and the procedure advance to Step S141.

By repeating this series of processing for each of all the pieces ofPlayItem information that constitute the PlayList information, theplayback of the AVClip defined by the PlayList information is achieved.In this loop processing, every time a piece of PlayItem information isplayed back, the procedure execution unit 20 performs the “Procedurewhen Playback Control is Changed”. Due to this performing by theprocedure execution unit 20, either a PG stream or a text subtitlestream is to be selected. In the case where the selected stream is atext subtitle stream and is specified by a piece of SubPath information,the text subtitle stream is to be played back through the procedure inSteps S136 to S140.

As explained so far, according to the present embodiment, PSRs 48 to 61indicate, for each of the languages, whether or not the capabilities fordisplaying the text subtitles are present. When a user wishes to have atext subtitle in a certain language displayed, it is possible toimmediately judge if the text subtitle in the language is displayable ornot by referring to the value set in a corresponding bit of the registerset.

Since it is possible to judge if the text subtitle in each language isdisplayable or not by referring to a value set in a corresponding bit,even if text subtitles are available in hundreds of different languages,it is possible to immediately judge if subtitles in a desired languageare displayable or not.

Second Embodiment

In the second embodiment, detailed description is provided for theinternal configurations of text subtitle streams and the TextST decoder12. FIG. 29 shows the internal configuration of a text subtitle stream.The first tier in the drawing shows a SubPlayItem information time axis.The second tier shows an EP_map. The third tier shows a text subtitlestream. The following describes the internal configuration of the textsubtitle stream shown in the third tier.

The text subtitle stream is made up of only one piece of “styleinformation” at the head and a plurality of pieces of “displayinformation”. There is only one piece of “style information” at the headof a text subtitle stream. A piece of style information is made up ofone or more “style IDs” each of which is an identifier for the styleitself; one or more “font IDs” each of which indicates font data to beused in the expansion to a bit map; one or more “font sizes” used whenthe expansion to the bit map is performed; and one or more “displaypositions” each of which shows the horizontal and vertical positions ina display area in the PG plane 8. In a text subtitle stream, these typesof information are altogether managed as a “style”. There is apossibility that more than one styles is defined in a piece of styleinformation. (In the example shown in FIG. 29, two styles are defined.)

The font sizes are written in the piece of style information so that theminimum size for the font buffer can be determined. In other words,since a font set needs to be pre-loaded, an arrangement is made so thatthe font data that must be read is clearly indicated before the streamis played back.

Each piece of display information is made up of the “display startingtime” of a subtitle; the “display ending time” of the subtitle; a “textcode sequence” which is a code sequence for expressing the subtitle; anda “reference value of the style ID” that uniquely specifies a displayposition at which the text subtitle should be displayed. The EP_mapcorresponding to the text subtitle specifies each of pieces of displayinformation that constitute the text subtitle as an entry position.Thus, as shown in FIG. 28, in order to play back a portion of a textsubtitle, the TextST decoder 12 plays back some of the pieces of displayinformation that correspond to SubPlayItem_In_time andSubPlayItem_Out_time in SubPlayItem information. Thus completes thedescription of the style information and the display information.

FIG. 30A shows examples of settings of style information and displayinformation. In this example of settings, style information #1 is set soas to indicate a coordinate (x1, y1) in the Presentation Graphics plane8.

The three pieces of display information shown in FIG. 30A indicatedisplay areas for the subtitle defined by the style information. Thedisplay starting times in the pieces of display information are set att1, t2, and t3, respectively. The text character sequences in the piecesof display information are set to be “Actually”, “I lied to you”, and“Sorry”, respectively. Because of these settings, the subtitle displaysequentially changes according to the pieces of display information, asthe playback time for the video proceeds.

The following discussion is based on the case where the synchronizationbetween the text subtitle stream that includes the pieces of displayinformation shown in FIG. 30A and an AVClip recorded on a BD-ROM isdefined by PlayList information stored in the Local Storage 32. As aresult of the text character sequences being arranged on thePresentation Graphics plane 8 according to the display positions and thedisplay starting times indicated in the pieces of display information, acomposite image as shown in FIG. 30B is to be played back.

Thus completes the description of the internal configuration of textsubtitle streams according to the present embodiment.

The following describes an EP_map. The EP_map shown at the second tierin FIG. 29 indicates entry positions of the pieces of displayinformation in a text stream in correspondence with entry times on aSubPlayItem information time axis. Since such correspondence isindicated, it is possible to obtain an address of each piece of displayinformation in the text subtitle from an arbitrary point on theSubPlayItem information time axis.

Thus completes the description of text subtitle streams.

The following describes the playback of a text subtitle stream with theuse of SubPlayItem information. As shown in FIG. 29, since the EP_mapindicates the correspondence between the entry times and the entrypositions, by converting In_times and Out_times included in theSubPlayItem information to entry positions of the text subtitle stream,it is possible to obtain the address of the pieces of displayinformation corresponding to the In_times.

FIG. 31 is a flow chart that shows the details of Step S140 in FIG. 28and shows a playback processing for a text subtitle stream.

In Step S148, the In_time of SubPlayItem #y is converted to a relativeaddress a of the piece of display information in the text subtitlestream, with the use of an EP_map of a current Clip information. In StepS149, the Out time of SubPlayItem #y is converted to a relative addressβ of the piece of display information in the text subtitle stream, withthe use of the EP_map of the current Clip information. The next addressafter the address β obtained through the conversion is sought out and anaddress immediately before the next address is taken as an address Υ(Step S151). With the use of the address Υ obtained this way, a portionof the text subtitle stream from the address α to the address Υ isinputted to the TS decoder (Step S152). According to this flow chart, byconverting the In_time in the SubPlayItem information to an entryposition in the text subtitle stream, it is possible to play back thetext subtitle stream based on the SubPlayItem information.

Through the processing described above, since both a MainPath and aSubPath are played back, a composite image made up of a video and asubtitle is to be displayed.

The following describes the internal configuration of the TextST decoder12 in the present embodiment.

FIG. 32 shows the internal configuration of the Text ST decoder 12. Asshown in the drawing, the TextST decoder 12 comprises a font renderingunit 21, an expansion buffer 22, and a controller 23.

The font rendering unit 21 expands a code sequence in the piece ofdisplay information stored in the text code buffer 10 into a bit map.When performing this expansion, the font rendering unit 12 extracts thestyle ID from the piece of display information, takes out font data thatcorresponds to the style ID from the buffer, and uses the font data.

The expansion buffer 22 stores therein the bit map obtained as a resultof the expansion performed by the font rendering unit 21.

The processing of reading a code sequence that constitutes a textsubtitle stream and the font data that is necessary for expanding thecode sequence into a buffer is referred to as “to pre-load” or“pre-loading”. In the case where it is possible to read a plurality ofstreams into the text code buffer 10 and the font buffer 11, thepriority order of the reading is determined according to the order inthe STN_Table or the like, which is described in the first embodiment.When as many streams as possible are read into the text code buffer 10and the font buffer 11, sequentially starting with the stream having ahighest priority order, it is possible to increase the number of streamsthat are mutually switchable during a playback without causing a seek.

The controller 23 writes the bit map stored in the expansion buffer 22to the PG plane 8 according to the display time and the display positionindicated in the piece of display information.

When the font rendering unit 21 performs the expansion into the bit map,control is provided so that the language characteristics of the languagecorresponding to the text subtitle stream can be supported. The languagecharacteristics to be supported includes horizontal writing, verticalwriting, kerning, prohibition of line breaks after certain characters,writing from the right to the left, and double letter/logotype.

Here, kerning is a function to narrow spaces between charactersdepending on the shape of each character in order to improve theappearance. The “prohibition of line breaks after certain characters”refers to a function of prohibiting “∘” (a full stop in Japanese) frombeing positioned at the beginning of a line due to arrangements of thefonts.

Thus completes the internal configuration of the TextST decoder 12. Thefollowing describes a newly-noted technical problem that may beexperienced when subtitles are expressed with code sequences, althoughit is not experienced when subtitles are expressed with graphics.

Technical Problem Related To Expression With Code Sequences

In the case where a subtitle is expressed with graphics, it is easy toarrange so that the appearance is the same in any playback apparatus. Inthe case where a subtitle is expressed with character codes, it isnecessary to have a module (the font rendering unit 21) called a fontgenerator or a renderer for converting the character codes into a bitmap and displaying it on a screen, as shown in the internalconfiguration in FIG. 32. Different font generators may have differentconfigurations as to the appearance of characters and the languages tobe supported.

The reason for this is because in the case where subtitles are expressedwith graphics, the appearance is determined during the process ofauthoring, whereas in the case where subtitles are expressed withcharacter codes, the appearance of the subtitles depends on theperformance of the font generator in each playback apparatus.

Shapes of characters may vary more or less even in existing HTMLbrowsers for browsing Web pages, and that is not a very big problem;however, the differences caused by language characteristics as describedbelow may be considerably prominent.

FIG. 33A explains the differences in layouts related to some languagecharacteristics of the Japanese language. “SHAPES OF PARENTHESES” shownin FIG. 33A indicate that the orientations of the parentheses in thehorizontal writing are different from those in the vertical writing by90 degrees. “POSITION OF LETTER” indicates that the position of a smallcharacter of “ya” for example needs to be slightly adjusted for eachcase of the horizontal writing and the vertical writing. “SHAPE OFPROLONGED-SOUND SYMBOL” indicates that the shape of the character itselfneeds to be changed for each case of the horizontal writing and thevertical writing. FIG. 33B explains a layout related to some languagecharacteristic of the Arabic language. As shown in FIG. 33B, thecharacters are written from the right to the left in Arabic.

In order for a font generator to generate such special characters andlanguages, providing corresponding font information is not good enough,and it is necessary to support the language characteristics withrendering functions of the font rendering unit 21 which renders bitmaps. Since such support is required, it is desirable to consider thatthe decoding capability is present only when all aspects of such supportare completely provided, in view of quality assurance.

In addition, since BD-ROM playback apparatuses sold in the European andAmerican countries seldom need to display subtitles in Japanese orArabic, they do not necessarily need to have a font generator fordisplaying the characters in these languages properly. It is not thateach of all the playback apparatuses needs to support all the languages.Since supporting languages incur extra costs, it is not desirable tohave all the playback apparatuses support all the languages. If each ofall the playback apparatuses must support proper displays of all thelanguages, it is not desirable to have a situation where it is notpossible to manufacture playback apparatuses in some countries becausethe knowledge of all the target languages necessary for themanufacturing is not available and it is impossible to find out how tomanufacture font generators. On the other hand, it is desirable to haveas many displayable languages as possible in order to enhance the addedvalue to the manufactured products.

Consequently, in order to give information to an application forcontrolling text subtitle streams as to which languages can be properlydisplayed, in the present embodiment, PSRs 48 to 61 are set as shown inFIG. 34.

FIG. 34 shows judgment criteria for setting Decode Capabilities forthree languages, namely, Japanese, English, and Arabic.

The table at the top shows whether or not capabilities are present forrendering the character fonts in English, Japanese, and Arabic. Thetable at the bottom shows whether or not capabilities are present forsupporting the language characteristics of English, Japanese, andArabic.

By referring to the table at the bottom, it is understood that, as forsubtitle displays in English, the language characteristics of Englishare judged to be supported only when the functions of “horizontalwriting”, “kerning”, “double letter/logotype” are all supported as bitmaps are written into the PG plane 8 (When the language characteristicsare supported, SUPPORT FOR LANGUAGE CHARACTERISTICS -->1).

As for subtitle displays in Japanese, the language characteristics ofJapanese are judged to be supported only when the functions of“horizontal writing” “vertical writing” “prohibit line breaks aftercertain characters”, “characters in smaller size” are all supported asbit maps are written into the PG plane 8. (When the languagecharacteristics are supported, SUPPORT FOR LANGUAGE CHARACTERISTICS-->1).

As for subtitle displays in Arabic, the language characteristics ofArabic are judged to be supported only when the functions of “renderingfrom the right to the left” and “double letter/logotype” are allsupported as bit maps are written into the PG plane 8. (When thelanguage characteristics are supported, SUPPORT FOR LANGUAGECHARACTERISTICS -->1).

These functions are based on a premise that a function of expanding codesequences to bitmaps (i.e. rendering) is available. Consequently, in thepresent embodiment, each of the decode capability flags in PSRs 48 to 61for Japanese, English, and Arabic is turned on, i.e. is set at “1”, onlywhen both of the rendering capability and the support capability for thelanguage characteristics are satisfied for the corresponding language.

As playback apparatuses are produced on a commercial basis, engineers atmanufacturing companies check which ones of the plurality of criterionshown in FIG. 34 are supported and which ones are not supported by theTextST decoder 12. PSRs 48 to 61 are set according to the criterion ofthe rendering capability and the support capability. With thisarrangement, it is possible to properly make judgment of whether theprocedure execution unit 20 is able to decode text subtitle streams andto optimize text subtitle displays in different languages.

Although PSRs 48 to 61 indicate decode capabilities for each ofdifferent languages in the present embodiment, it is acceptable to havean arrangement wherein PSRs 48 to 61 indicate whether or not thelanguage characteristics are supported for each of the functions to besupported, such as horizontal writing, vertical writing, kerning,prohibition of line breaks after certain characters, doubleletter/logotype and so on, instead of indicating for each of thelanguages. When this arrangement is used, as long as the requiredfunctions are determined for each language, it is not necessary to useas many register areas as the number of the languages. In such a case,when each required function is supported, the flag is turned on, andwhen each required function is not supported, the flag is turned off. Inthis example, each playback apparatus needs to store therein acorrespondence table as shown in FIG. 34; however, since such acorrespondence table may be incorporated as a program, instead of as theregisters, it is possible to update the program in the event the numberof the languages has increased.

As attribute information of text subtitle streams, it is acceptable toindicate, in Clip information, which functions are required for display,instead of the aforementioned information related to the languageattributes, i.e. the language is Japanese or English.

Third Embodiment

In the first embodiment, the judgment is made on whether or not theDecode Capability is present in different languages by referring to onlythe values set in the Decode Capability flags shown in PSRs 48 to 61. Inthe present embodiment, it is possible to increase the number of thelanguages in which the subtitles are displayable.

When the target language is not supported by the playback apparatus,font data is supplied by way of a disc or downloading; therefore, evenif the positions of the characters maybe improper, the subtitle displaywill be still readable. Consequently, unsupported languages should bedisplayed depending the status of each playback apparatus and the usersettings. In the case where it is desired to avoid improper displays inunsupported languages, the display should be made impossible.

The following describes possibility of subtitle display in an“unsupported language” whose language characteristics are not supported.FIGS. 35A and 35B show a subtitle in Japanese in which vertical writingcriterion is completely supported and a subtitle in Japanese in whichvertical writing criterion is not completely supported. Manufacturingcompanies that manufacture playback apparatuses would not like to haveproduct claims from users due to some unreadable characters resultingfrom displays of an unsupported language. For this reason, somemanufacturing companies may wish to make it impossible for the playbackapparatuses to perform such displays.

On the other hand, even if proper displays of the Japanese language arenot supported, the characters may be still readable as shown in FIG.35B. If the Japanese audio is not provided and the user is not able tounderstand audios and subtitles in other languages, he/she may wish tohave any kind of display even if the characters are more or lessdifficult to read. If a playback apparatus is able to have a setting bywhich the subtitles display can be enabled when the user wishes, eventhough the manufacturer of the playback apparatus in principle hasdisabled the display, the number of the languages in which subtitles aredisplayable is increased by far, and the convenience of the user is muchimproved. In the present example, the term “user/users” refers to endusers (final consumers); however, an engineer at a manufacturing companymay be a user, too, and the term merely refers to “a person in generalwho operates the apparatus”.

As explained so far, some manufacturing companies that pay closeattention to quality assurance would like to disable a subtitle displaylike the one shown in FIG. 35B, but some users may wish to have even thesubtitle display like the one shown in FIG. 35B, as long as a subtitledisplay is available.

In order to harmoniously accommodate both the demand of manufacturingcompanies and the demand of the users, the present embodiment providesimprovements as described below. For making it possible to selectunsupported languages, the playback apparatus according to the presentembodiment has an internal configuration as shown in FIG. 36. Theimprovements illustrated in this drawing are as follows:

-   (i) b23 to b16 in PSR 30 have a permission flag that indicates    whether or not selecting unsupported-languages is permitted.-   (ii) In a reserved area of a PSR, it is indicated whether each of    the languages belonging to a specific language group is an    unsupported language.-   (iii) The procedure execution unit 20 makes a selection of the    unsupported languages according to b23 to b16 in PSR 30.-   (iv) The self test unit 31 and the set-up unit 32 are provided in    the control unit 15.

Improvements <1> - - - b23 To b16 In PSR 30

FIG. 37 shows bit assignments for b23 to b16 in PSR 30 according to thethird embodiment. In this drawing, in b23 to b16 in PSR 30, it isindicated whether or not the user selection of unsupported languages ispermitted or not.

To be more specific, in the case where b23 to b16 in PSR 30 is“00000000” (=OFF), the unsupported languages will not be displayed evenif the user has selected one of them. It is also acceptable to have anarrangement wherein the user is not able to even select. In the casewhere b23 to b16 in PSR30 is “10000000” (=ON), the user is able tochoose to have a text subtitle stream displayed on a screen although thedisplay may not be proper. Thus completes the description of theimprovement made to b23 to b16 in PSR 30.

The following describes the improvement in the reserved area.

Improvements <2> - - - Reserved Area

FIG. 38 shows a bit configuration in the reserved area of the PSR. Thereserved area shows whether or not each of the languages belonging to aspecific language group, such as a Chinese character region, is anunsupported language. The bits in the reserved area are incorrespondence with the different languages in a specific languagegroup, respectively. When a bit is set to be “1”, it means that thecorresponding language is an unsupported language, whereas when a bit isset to be “0”, it means that the corresponding language is a languagefor which the playback apparatus does not have the rendering capability(i.e. an unrenderable language). With this arrangement of bit settings,it is possible to find out whether each of the languages belonging to aspecific language group is an unsupported language or not. Theassignment as to which one of the bits in the reserved area correspondsto which one of the languages is made with the use of an assignmenttable as shown in FIG. 21. Thus completes the description of theimprovements in the PSR. The following describes the improvements madeto the self test unit 31.

Improvements <3> - - - Self Test Unit 31

With the self test unit 31, an engineer at a manufacturing companyperforms testing for the rendering capability and the languagecharacteristic support before the apparatus is shipped from the factory.The appropriate ones of PSRs 48 to 61 are set according to the resultsof the testing. The set-up unit 32 stores therein various test patterns,provides them for the TextST decoder 12 so that a test display isperformed to find out about support for the language characteristicsduring subtitle displays. The test results are displayed on a displaydevice. In the case where the rendering capability is present and thesupport capability is not present for a language, the language isregistered as an unsupported language according to an operation by theengineer at the manufacturing company. In the case where neither therendering capability or the support capability is present, the languageis registered as an unrenderable language according to an operation bythe engineer at the manufacturing company.

Improvements <4> - - - Set-Up Unit 32

The set-up unit 32 displays a set-up menu according to a user operationon the remote controller 300 and rewrites the values set in b23 to b16in PSR30. FIG. 39A shows a set-up menu. As shown in the drawing, theitems for which the setting can be received via the set-up menu includefive items such as “country/district”, “menu language”, “audiolanguage”, “subtitle language”, and “increase displayable languages”.The characteristic of the set-up unit 32 lies in that it is possible toreceive a designation of whether the number of displayable languagesshould be increased or not from a user.

FIG. 39B shows a menu to be displayed in the case where the user wishesto increase the number of the displayable languages. The menu shown inthe drawing includes a list of unsupported languages (showing Italian,Spanish, Russian . . . in the drawing), the warning text Wn1 to bedisplayed when text subtitle streams in the unsupported languages are tobe displayed, and the buttons bn1 and bn2 for receiving a selection ofwhether or not the number of the languages should be increased.

The warning text Wn1 is for giving the user a warning that when asubtitle in one of the unsupported languages is displayed, part of thesubtitle may be improper. The buttons bn1 and bn2 are for receiving aselection of whether or not the number of the languages should beincreased even if such a waning is given. Thus completes the descriptionof the improvements of the constituent elements of the presentembodiment. The following describes the processing procedures of theprocedure execution unit 20, the self test unit 32 and the set-up unit32, with reference to the flow chart in FIG. 40.

FIG. 40 is a flow chart that shows a judgment procedure for textsubtitle streams in the third embodiment. This flow chart is obtained byadding Steps S16 and S17 to the flow chart shown in FIG. 25.

In Step S16, it is judged whether or not a target text subtitle streamis in an unsupported language. In Step S17, it is judged whether or notb23 to b16 in PSR30 represents 10000000b. In the case where the judgmentresults are “Yes” for Step S16 and “Yes” for Step S17, even if the textsubtitle stream is in an unsupported language, it is considered that thecriterion (a) is satisfied. In the case where the judgment results forone of Steps S16 and S17 is “No”, it is judged that the criterion (a) isnot satisfied.

FIG. 41 is a flow chart that shows a processing procedure by the selftest unit 31. The flow chart shows a loop processing for repeating theprocessing in Step S42 to S48 for each of 430 languages that areidentified with the use of textST_language_code. The language targetedin the loop processing is referred to as a language u. In Step S42, thetextST_language_code of the language is converted to a PSR number and abit position.

In Step S43, it is judged whether the rendering capability for the fontsin the language is present. In the case where the judgment result isthat the rendering capability is not present, the q'th bit of the PSR pis set to be “0” (Step S48).

In Step S44, it is judged whether or not the capability for supportingthe language characteristics is present. In the case where the judgmentresult is that the support capability is present, the q'th bit of PSR pis set to be “1” (Step S45). In the case where the judgment result isthat the support capability is not present, the language u is registeredas an unsupported language (Step S47), and the q'th bit of PSR p is setto be “0” (Step S48).

After the processing above is performed for each of all the languages,the processing in Step S49 and S50 is to be performed. Step S49 is astep of inquiring of the user whether or not subtitle displays inunsupported languages should be performed. In the case where the userwishes to have subtitles in the unsupported languages displayed, StepS50 is performed. Step S50 is the processing for setting b23 to b16 inPSR30 to be 1000 0000. In the case where the user does not wish to havesubtitles in the unsupported languages displayed, the processing in StepS50 is skipped. Thus completes the description of the processingprocedure by the self test unit 31.

FIG. 42 is a flow chart that shows the processing procedure performed bythe set-up unit 32. The set-up unit 32 displays a set-up menu (StepS51), and then judges whether or not there are any unsupported languages(Step S52). If no unsupported language exists, the procedure advances toStep S54. If one or more unsupported languages exist, a setting item forreceiving “INCREASE DISPLAYABLE LANGUAGES” is added to the set-up menu(Step S53), and a selection from the setting items in the set-up menu iswaited for (Step S54).

When a setting item has been selected, it is judged whether the selectedsetting item is for increasing the number of the languages (Step S55).If it is not, an appropriate processing procedure is performed forsetting the country/district, the menu language, the audio language, andthe subtitle language. (Since this processing procedure is not the maingist of the present invention, the explanation thereof will be omitted).

In the case where the selected item is for increasing the number of thelanguages, the menu shown in FIG. 39 is displayed (Step S56), and a useroperation is waited for (Steps S57 and S58). When a move key is pushed(Step S57: YES), a part in the set-up menu is highlighted (Step S59).When a finishing operation is performed (Step S58: YES), it is judgedwhether a button for increasing the number of the languages ishighlighted (Step S60). If the button is not highlighted, the processingis completed. If the button is highlighted, b23 to b16 in PSR30 are setto represent 10000000 (Step S61), and the processing shown in this flowchart is completed.

As explained so far, according to the present embodiment, since themanufacturing company is able to set the flag (b23 to b16 in PRS30) forallowing a user to select even unsupported languages, it is possible toswitch the setting as to whether or not the stream selection unit 17 isable to select each of the unsupported languages. Since it is possibleto determine whether the selection of unsupported language is enabled ornot with just the setting of the flag, the manufacturing company ofplayback apparatuses are able to easily change the setting as to whetherselecting unsupported languages is prohibited in order to have strictquality assurance or selecting unsupported languages is permitted withself-responsibility of users.

With this arrangement, users are able to have text subtitles displayedin a language in which inconvenience may be caused, while acknowledgingthe possibility that the subtitle displays may have some inconvenience.Since the subtitles in the unsupported languages are displayed withself-responsibility of the users, it is possible to harmoniously caterto both the users and the manufacturing companies.

Alternatively, it is acceptable that the flag (b23 to b16 in PSR30) forallowing a user to select an unsupported language is recorded in Clipinformation together with text subtitle streams. Further, it isacceptable to have an arrangement wherein, in the case where the flag isrecorded both in the playback apparatus and on a disc, processing isperformed according to a logical OR or a logical AND.

Fourth Embodiment

According to the third embodiment, in the case where the user wishes tohave subtitles in unsupported languages displayed, the processing isperformed so that the Decode Capabilities in the unsupported languagesare judged to be present. According to the present embodiment, in thecase where the user wishes to have subtitles in the unsupportedlanguages displayed, the Decode Capabilities corresponding to theunsupported languages shown in PSRs 48 to 61 are all updated so as toindicate “Decode Capability is present”.

FIGS. 43A and 43B show, in comparison, settings of Decode Capability fora case where the user does not wish to have displays in an unsupportedlanguage and in a case where the user wishes to. In FIG. 43A, for alanguage in which the rendering capability=“1” and also the supportcapability=“0”, the Decode Capability is set to be “0”.

In contrast, in FIG. 43B, in the case where the user wishes to havesubtitles in the unsupported languages displayed, for a language inwhich the rendering capability=“1” and also the support capability=“0”,the Decode Capability is changed to be “1”. In the present embodiment,an updating processing is performed so that the Decode Capability ischanged to be “1” for a language in which the rendering capability=“1”and also the support capability=“0”.

The improvements for realizing this updating process are made in theset-up unit 32.

FIG. 44 is a flow chart that shows the processing procedure performed bythe set-up unit 32 according to the fourth embodiment. This flow chartis based on the flow chart shown in FIG. 42. The difference from theflow chart in FIG. 42 lies in that Step S63 is performed instead of StepS61. Step S63 is performed in the case where it is judged that thebutton for increasing the number of the languages is highlighted (StepS60: YES). In Step 563, the Decode Capability flags indicating theDecode Capabilities in all the languages corresponding to theunsupported languages are set to be “1”. As a result of Step S63, in thecase where the user wishes to increase the number of the languages, theDecode Capability flags for all those languages are set to be “1”altogether.

As explained so far, according to the present embodiment, if the userwishes, the Decode Capability flags corresponding to the unsupportedlanguages shown in PSRs 48 to 61 are set to be “1”; therefore, theprocedure for setting PSR 2 is easier.

Fifth Embodiment

The fifth embodiment is related to interruptions during playbacks. The“interruption during playbacks” mentioned here refers to an interruptionthat occurs during a playback due to reading of unpre-loaded textsubtitle stream from a BD-ROM into a buffer when an AVClip is playedback. Such an interruption is caused when a user attempts to select stext subtitle stream that is written in an STN_Table but has not beenpre-loaded.

In the case where subpath information specifies a plurality of streams,there is a possibility that only some of the streams can be read intothe buffer, depending on the capacities of the text code buffer 10 andthe font buffer 11. When switching occurs from a stream to anunpre-loaded stream, a disc seek is performed on the BD-ROM so as toread the data, and thus the playback of the AVClip is interrupted.

FIG. 45 shows how switching between text subtitle streams is performedin the case where the capacities of the text code buffer 10 and the fontbuffer 11 are only for three languages.

In the drawing, after text subtitle streams for three languages, namelyJapanese, French, and Chinese have been pre-loaded, the playback of aMainPath is started. When the loader 13 is to perform the pre-loadingbased on the STN_Table shown in FIG. 10, the pre-loading performed bythe loader 13 is shown in FIG. 45. FIG. 45 shows a pre-loading into abuffer, performed by the loader 13. More specifically, the text subtitlestreams are sequentially loaded into the buffer starting with the onehaving a higher writing order in the STN_Table. When the buffer isfilled, the pre-loading is terminated. The text subtitle stream havingthe lowest order in the STN_Table (the text subtitle stream in Arabic inthe example shown in the drawing) will not be pre-loaded into thebuffer.

Since the text subtitle stream in Arabic is written in the STN_Tablealthough the stream has not been pre-loaded into the buffer, the streamselection unit 17 may select the un-preloaded text subtitle stream as aplayback target, as shown in FIG. 46.

In the case where a text subtitle stream selected by the streamselection unit 17 is not in the buffer, since a processing for loadingthe stream into a memory needs to be performed, the text subtitle streamis read into the buffer during the playback of the AVClip. In such acase, the stream selection unit 17 temporarily suspends the playback ofthe AV stream, and then after the Arabic text subtitle steam has beenread into the text code buffer 10 and the font buffer 11, the playbackis resumed from the point at which the playback is suspended.

FIG. 47 schematically shows a loading processing performed by the loader13 in a case where the user has selected, during a playback of anAVClip, a text subtitle stream that has not been pre-loaded.

During the playback of the AVClip, the optical pick-up unit attempts toread the unpre-loaded text subtitle stream while accessing the AVClipsat the same time. The reading in this case involves a seek from therecording area of the AVClip to the recording area of the text subtitlestream and a seek from the recording area of the text subtitle stream tothe recording area of the AVClip, as shown in FIG. 48A. While theseeking is performed, since the supply of AVClip to the decoder isinterrupted as shown in FIG. 48B, the playback of the AVClip isinterrupted. It is not very reasonable that while so much attention ispaid to prevent interruptions during playbacks of text subtitle streamsin some languages, an interruption occurs during a playback in alanguage that has not been pre-loaded. Some users, however, may wish toincrease the number of languages to which a subtitle display switch canbe made even if the playback of the AVClip may be interrupted. Themanufacturing company will have a hard time deciding which one should beprioritized, to avoid the playback interruption or to increase thenumber of the languages.

Various factors will affect decisions related to the demand for acontinuous playback of an AVClip, i.e. playing back an AVClip withoutinterruptions and the demand for prioritizing the switching betweenstreams even if the playback of an AVClip may be interrupted.Consequently, the playback apparatus needs to have a standard on whichprioritizing of the demands can be based. In the present embodiment,such a standard is provided within the playback apparatus.

FIG. 49 shows an internal configuration of the playback apparatus in thepresent embodiment. The following describes the improvements made in theplayback apparatus according to the present embodiment with reference tothe drawing. The improvements made in the present embodiment are fourpoints as below:

-   (i) An improvement made to the loader 13 shown in the drawing is    that a pre-load management table 33 is added.-   (ii) An improvement made to the PSR set is that a permission flag is    added to a reserved area of a PSR.-   (iii) An improvement made to the stream selection unit 17 is, when a    judgment is made as to which one of a PG stream and a text subtitle    stream should be selected, other judgment criteria are added, such    as if the permission flag is on and if the text subtitle stream has    been pre-loaded, to the aforementioned judgment criterion (a) and    (b).-   (iv) An improvement made to the set-up unit 32 is the permission    flag is turned off and on according to a user operation.

The following describes in detail each of the improvements made to theplayback apparatus in the present embodiment.

Improvements <1> - - - Pre-Load Management Table 33

The pre-load management table 33 is a table that shows which ones of thetext subtitle streams written in an STN_Table have been pre-loaded andwhich ones have not been pre-loaded. In order to perform the pre-loadinginto the text code buffer 10 and the font buffer 11, the loader 13generates the pre-load management table based on the STN_Table. When apreloading of an individual text subtitle stream is completed, the itemin the pre-load management table 33 corresponding to the text subtitlestream is turned “ON”. The pre-loading of the text subtitle streams isrepeated until the text code buffer 10 and the font buffer 11 arefilled. As a result of this processing, the pre-load management tableshows text subtitle streams of which the pre-loading has been completedand text subtitle streams of which the pre-loading has not beencompleted.

Improvements <2> Seamless Flag

FIG. 50 shows an example of a seamless flag provided in a reserved areaof a PS. The leaders in the drawing show the meanings of the seamlessflag. The seamless flag shown in this drawing is provided in a reservedarea of a PSR. When the seamless flag is set to be “1”, it means that aseamless playback is prioritized. In other words, it means that aselection of a text subtitle stream that will cause an interruptionduring the playback of the AVClip is not permitted. In the case wherethe seamless flag is set to be valid i.e. set to be “1 (=ON)”, aplayback of the AVClip without interruptions (a seamless playback) isprioritized; therefore, switching to a stream that has not beenpre-loaded is prohibited. In the case where the seamless flag is set tobe invalid i.e. set to be “0 (=OFF)”, seamless playbacks of AVClips arenot so important; therefore, it is possible to switch over to any streamregistered in the STN_Table. When switching over to an unpre-loadedstream is performed, the playback of the AVClip is suspended so that theswitching can be performed. Thus completes the description of theseamless flag.

Improvements <3> Stream Selection Unit 17

The stream selection unit 17 according to the present embodiment judgeswhether or not the user wishes to have a switching between text subtitlestreams that may cause an interruption during a playback of an AVClipbased on the value set in the seamless flag. According to the judgmentresult, the procedure is performed for determining whether or not a textsubtitle stream that is not in the buffer should be a selection option.

As shown in FIG. 51A, it is assumed that a PG stream multiplexed onto anAVClip, a text subtitle stream that has been pre-loaded, and anothertext subtitle stream that has not been pre-loaded are written in anSTN_Table. When the seamless flag is set so that a seamless playback isprioritized, there will be a state transition as shown in FIG. 51B. Thecircles in the drawing schematically represent the PG stream on theMainPath side, the text subtitle stream on the SubPath side that hasbeen pre-loaded, and the text subtitle stream on the SubPath side thathas not been pre-loaded. The arrows show the switching between thestreams. In the case where the seamless flag is on, it is possible toperform a switching from the PG stream to the pre-loaded text subtitlestream as well as a switching from the pre-loaded text subtitle streamto the PG stream. Conversely, in the case where the seamless flag isoff, as shown in FIG. 51C, it is impossible to perform a switching fromthe PG stream to the unpre-loaded text subtitle stream and a switchingfrom the unpre-loaded text subtitle stream to the PG stream. Thuscompletes the description of the improvements made to the streamselection unit 17.

Improvements <4> - - - Set-Up Unit 32

The set-up unit 32 displays a set-up menu in accordance with a useroperation on the remote controller 300, like in the third embodiment,and updates the seamless flag in the reserved area of the PSR. FIG. 52Ashows a set-up menu to be displayed by the self test unit 31 in thepresent embodiment.

The items for which the settings can be received via the set-up menuinclude five items such as “country/district”, “menu language”, “audiolanguage”, “subtitle language”, and “increase displayable languages”.The characteristic of the set-up unit 32 lies in that it is possible toreceive a designation of whether the number of displayable languagesshould be increased or not from a user. To “increase the number of thelanguages” in the present embodiment is different from that in the firstthrough third embodiments. In the present embodiment, it means to addtext subtitles in a language that is not allowed to be selected in orderto realize seamless playbacks, to the selection options.

FIG. 52B shows a menu to be displayed when the user wishes to increasethe number of the languages. The menu shown in the drawing includes awarning text Wn2 indicating that increasing the number of the languagesmay cause an interruption during the playback of the video, a button bn3for receiving an operation to have seamless playbacks guaranteed, and abutton bn4 for receiving an operation to prioritize subtitle switchingsover seamless playbacks.

The warning text Wn2 indicates that increasing the number of thelanguages may cause an interruption during the playback of the video.The aforementioned buttons bn3 and bn4 are for receiving a selection ofwhether or not the number of the languages should be increased even ifsuch a warning is given. With the use of such a display, the user isable to select whether a subtitle display should be performed or notwith self-responsibility. With this arrangement, it is possible toharmoniously accommodate the demand for playing back an AVClip withoutinterruptions and the demand for prioritizing switchings between streamseven if the playback of an AVClip may be interrupted.

Thus completes the description of the improvements made to theconstituent elements in the present embodiment. The following describesthe selection procedure performed by the stream selection unit 17according to the present embodiment.

FIG. 53 is a flow chart that shows the selection procedure performed bythe stream selection unit 17 according to the fifth embodiment. Thisflow chart is obtained by improving the one shown in FIG. 24. Like inFIG. 24, each of Steps S31 and S32 in the flow chart is a loopprocessing in which the processing in Steps S33 to S34 and Step S61 isrepeated for each of the PG stream and the text subtitle stream writtenin the STN_Table. Although the processing in Steps S33 and S34 is thesame as the one shown in FIG. 24, the processing in Step S61 isdifferent from FIG. 24.

To be more specific, in Step S61, it is judged whether text_ST stream isatisfies the following four criterion (a), (b), (c), and (d):

-   (a) If the playback apparatus has a capability for decoding the text    subtitle stream i.-   (b) If the language attribute of the text subtitle stream i matches    the language setting of the playback apparatus.-   (c) If the data required for displaying the text subtitle stream i    has been pre-loaded.-   (d) If a seamless playback is requested.

The judgment of whether or not the criterion (c) is satisfied is made byreferring to the pre-load management table. The judgment of whether ornot the criterion (d) is satisfied is made by referring to thepermission flag in the reserved area of the PSR.

After the processing in Steps S33 to S35 is repeated for each of all thePG_textST_streams, the processing in Step S62 to S63 and in Steps S65 toS68 is performed.

In Step S62, it is judged whether or not a seamless playback isrequested according to the seamless flag. In Step S63, it is judgedwhether or not any of the PG streams and text subtitle streamssatisfying the criterion (c) are displayable.

In the case where a seamless playback is not requested according to theseamless flag, the judgment result in Step S62 is NO, and the processinglike the one shown in FIG. 24 is to be performed. In other words, it isjudged if there are any displayable PG streams or displayable textsubtitle streams (Step S65), and if there are, out of the PG streams andthe text subtitle streams satisfying both the criteria (a) and (b), theone having the highest order rank in the STN_Table is set into PSR2(Step S67). If there are not, an invalid value is set into PSR 2 (StepS68).

When a seamless playback is requested according to the seamless flag(Step S62: YES), and also there are one or more text subtitle streamssatisfying the criteria (c) (Step S63: YES), out of the PG streams andthe text subtitle streams satisfying all of the criteria (a), (b) and(c), the one having the highest entry order rank is set into PSR2 (StepS66).

In the case where a seamless playback is requested according to theseamless flag (Step S62: YES), but there is no text subtitle streamsatisfying the criterion (c) (Step S63: NO), an invalid value is setinto PSR 2 (Step S68). Thus completes the description of the flow chartin FIG. 53.

FIG. 54 is a flow chart that shows in detail the processing in Step S66in FIG. 53.

In Step S91, it is judged if there are any PG streams and text subtitlestreams that satisfy all of the criteria (a), (b), and (c). If thereare, out of the PG streams and the text subtitle streams satisfying allof the criteria. (a), (b) and (c), the one having the highest order rankin the STN_Table is set into PSR2 (Step S93).

If there is no PG stream or text subtitle stream that satisfies all ofthe criterion (a), (b), and (c), the processing in Step S92 is to beperformed. In Step S92, it is judged if there are any PG streams or textsubtitle streams that satisfy both of the criteria (a) and (c). If thereare, out of the PG streams and the text subtitle streams satisfying bothof the criteria (a) and (c), the one having the highest order rank inthe STN_Table is set into PSR2 (Step S94).

Thus completes the processing procedure performed by the procedureexecution unit 20 according to the present embodiment. The followingdescribes the setting of the seamless flag performed by the set-up unit32. FIG. 55 is a flow chart that shows the setting procedure of theseamless flag performed by the set-up unit 32.

FIG. 55 is a flow chart that shows a processing procedure performed bythe set-up unit 32. After the set-up unit 32 displays a set-up menu(Step S71), the judgment processing in Steps S72 and S73 is performed.In Step S72, it is judged whether the seamless flag is turned on. InStep S73, it is judged if there are any text subtitle streams that arewritten in an STN_Table but have not been pre-loaded.

If the judgment results of both Step S72 and S73 are YES, a selectionitem for receiving an operation to increase the number of the languagesis added to the set-up menu. If one of the judgment results in Steps S72and S73 is NO, Step S74 is skipped.

Subsequently, a selection from the setting items in the set-up menu iswaited for (Step S75). When a setting item has been selected, it isjudged whether the selected setting item is for increasing the number ofthe languages (Step S76). If it is not, an appropriate processingprocedure is performed for setting the country/district, the menulanguage, the audio language, and the subtitle language. (Since thisprocessing procedure is not the main gist of the present invention, theexplanation thereof will be omitted).

In the case where the item selected by the user is for increasing thenumber of the languages, the menu shown in FIG. 52B is displayed, and auser operation is waited for (Steps S78 and S79). When a move key ispushed (Step S78: YES), a highlight in the set-up menu is moved (StepS80). When a finishing operation is performed (Step S79: YES), it isjudged whether a button for “prioritizing switching of subtitles” ishighlighted (Step S81). If the button for prioritizing switching ofsubtitles is not highlighted, the processing is completed. If the buttonfor prioritizing switching of subtitles is highlighted, the seamlessflag in the reserved area is updated to be “0” (Step S82), and theprocessing shown in this flow chart is completed.

As explained so far, according to the present embodiment, the seamlessflag indicates which one of the demands should be prioritized when thereare a demand for a continuous playback of an AVClip, i.e. playing backan AVClip without interruptions and a demand for prioritizing switchingsof streams even if the playback of the AVClip may be interrupted.Consequently, it is possible to harmoniously accommodate these demands.

In the present embodiment, description is provided for a case in whichthe AVClip on the MainPath side, the text subtitle stream on the SubPathside, as well as the font data are all recorded on a BD-ROM. If a streamon the SubPath side like the text subtitle stream is recorded on arecording medium different from the one having the data for theMainPath, for example, if it is recorded on a hard disk to which accesscan be made relatively fast, but the decoder buffer for the AVClip stilldoes not experience an underflow, it is acceptable to have anarrangement wherein switching to an unpre-loaded stream is permittedeven if the seamless flag is set to be valid so that seamless playbacksof AVClips should be prioritized.

Further, in the case where a stream on the SubPath side is recorded onan optical disc, but the decoder buffer for the AVClip still does notexperience an underflow because the speed of access to the optical discis fast enough, it is acceptable to have an arrangement whereinswitching to an unpre-loaded stream is permitted.

Furthermore, a seek during a playback of a MainPath occurs because atext subtitle stream constituting SubPath information is recorded on aBD-ROM on which MainPath is also recorded; therefore, it is acceptableto start the playback of the MainPath after copying the stream on theSubPath side onto a recording medium, such as a hard disk, to whichaccess can be made relatively fast. With this arrangement, it ispossible to inhibit occurrence of an unnecessary seek during a playback.

Sixth Embodiment

In the fifth embodiment, a PSR indicates which one is prioritizedbetween seamless playbacks of AV clips and switchings of text subtitlestreams. In the present embodiment an improvement is made to anSTN_Table. In the present example, in a pair made of an attribute and aPID in an STN_Table, a seamless flag is provided for the attribute. FIG.56A shows an internal configuration of an STN_Table in the sixthembodiment. As shown in the drawing, in an STN_Table according to thepresent embodiment, a set made up of an entry and an attributecorresponding to a text subtitle stream, a seamless flag is provided forthe attribute.

FIG. 56B shows the meanings of the seamless flag provided in theSTN_Table. The meanings of the seamless flag shown in the drawing arethe same as the ones shown in FIG. 50. Since the seamless flag in theSTN_Table defines the designation of which one should be prioritizedbetween seamless playbacks of AVClips and increasing the number oflanguages to which subtitles can be switched, people in charge ofauthoring are able to define in advance which one should be prioritized.In such a case, a seamless flag may be provided for the attribute of anentire disc or for each of the attributes of PlayLists, which are theunits of playback, or for each of the attributes of streams.

As explained so far, according to the present embodiment, in the case ofnormal movie productions, since people in charge of authoring does notwant to have interruptions during playbacks of AVstreams, it is possibleto reflect the intention of those people in charge onto the playbackapparatus with the use of the settings in the STN_Table.

Seventh Embodiment

As for text subtitle streams, it is required to perform two types ofpre-loadings, such as a pre-loading of the text subtitle stream itselfand a pre-loading of font data.

A text subtitle stream is not displayable unless both of the two typesof pre-loaded data are available. Consequently, even if a text subtitlestream is registered in an STN_Table and has been read into the textcode buffer, the text subtitle stream is not displayable unless the fontdata has been read into the font buffer 11; therefore, selecting such astream should be prohibited.

However, when the capacity of the font buffer is for one font set, it ispossible to read only font data whose ID is ID=1 into the font buffer.When a need arises for switching over to font data whose ID is ID=2, itis required to read the data with ID=2 into the font buffer. At thattime, as explained above, if it is requested that the AV stream shouldbe played back without interruptions, it is necessary to restrict there-reading of the font data.

In order to display subtitles with a text subtitle stream, font data isrequired. When such font data needs to be loaded during a playback of anAVClip, the playback of the video stream may be interrupted.

FIG. 57 shows an example in which the font being used is switched duringa playback of a text subtitle stream. As shown in the drawing, to acertain point in time, the subtitle is displayed using the font datawhose ID is ID=1, and after the time t1, the subtitle is realized usingthe font data whose ID is ID=2. In the case where the font data whose IDis ID=2 is not in the buffer, the loader 13 loads the font data during aplayback of the AVClip. In order to load the font data, a disc seekoccurs, and the playback of the video stream is interrupted.

As discussed in the second embodiment, the style information in a textsubtitle stream includes IDs or names of fonts and at which points intime these fonts are required. It is, however, impossible to find outthe IDs of the fonts from the description in the style informationunless the text subtitle stream itself is analyzed.

In order to cope with this situation, in the present embodiment, the IDsof the required font data are written in Clip information. Since the IDsof the required fonts are listed in the Clip information, it is possibleto find out the IDs of the required fonts without having to analyze thefile in which the text subtitle stream is stored.

To be more specific, a BD-ROM is configured as shown in FIG. 58. FIG. 58shows an internal configuration of a recording medium according to thepresent embodiment. In this drawing, each of the files named 0002.m2tsto 0005.m2ts constitutes a text subtitle stream.

In the directory shown in this drawing, the files named 0002.clpi to0005.clpi are pieces of Clip information that are in correspondence withAVClips #2 to #5, respectively. The identifiers of sets of font datarequired for the text subtitle streams are written in these pieces ofClip information corresponding to AVClips (i.e. text subtitle streams).For example, the font data whose ID is ID=2 and the font data whose IDis ID=3 for Clip information #2 means that it is necessary to pre-loadthe font data whose ID is ID=2 and the font data whose ID is ID=3 inorder to play back the AVClip corresponding to this piece of Clipinformation.

The font data whose ID is ID=1 for Clip information #3 means that it isnecessary to pre-load the font data whose ID is ID=1 in order to playback the AVClip corresponding to this piece of Clip information.

As described above, since the identifiers of all the sets of font datarequired for a playback are written in the Clip information, whenpre-loading a text subtitle stream, the loader 13 is able to read allthe sets of font data that are required for the playback of the textsubtitle stream into the buffer, without missing any, by referring tothe Clip information.

FIG. 59 shows a loading processing performed by the loader 13 accordingto the present embodiment. In this example, a plurality of sets of fontdata are recorded in the Font directory on the BD-ROM. The identifiersof the font data whose ID is ID=2, the font data whose ID is ID=3, thefont data whose ID is ID=1 are written in the pieces of Clip informationrespectively corresponding to the text subtitle streams. In this case,the loader 13 pre-loads the sets of font data into the font buffer 11from the directory, according to the identifiers written in the piecesof Clip information. When a text subtitle stream in Japanese is playedback, even if the font is switched during the playback, as long as theidentifiers of both of the sets of font data are written in the Clipinformation, it is possible to load these sets of font data into thefont buffer 11, without missing any.

Here, even if the font data whose ID is ID=2 becomes necessary duringthe playback, as shown in FIG. 59, if the font data whose ID is ID=2 iswritten in the Clip information, the loader 13 pre-loads a text subtitlestream corresponding to the font data whose ID is ID=2 into the buffer,it is possible to prevent interruptions that may occur during theplayback of the AVClip.

It should be noted that it is acceptable to have an arrangement whereinall the sets of font data are stored as data being incorporated into aplayback apparatus. In such a case, as long as a code sequence isavailable, the characters are displayable at any time; however, it isdifficult to realize incorporation of all the sets of font data forvarious languages into a playback apparatus. Further, for those peoplewho create contents, it is not very effective to incorporate fonts intoa playback apparatus since they wish to have subtitles displayed increative fonts that are suitable for the atmosphere of each movie.Accordingly, the idea of incorporating font data into playbackapparatuses may be used as a countermeasure for an exceptional case inwhich font data is not available.

Eighth Embodiment

In the previous embodiment, the required font data is written in Clipinformation. In the present embodiment, file management information isprepared and identifiers of sets of font data are written therein.

FIG. 60A shows a directory structure on a recording medium according tothe present embodiment. Four sets of font data are in the FONTdirectory. More specifically, file management information and the setsof font data with ID=1, 2, and 3 are in the FONT directory. FIG. 60Bshows an internal configuration of the file management information. Thefile management information indicates whether the pre-loading of each ofthe sets of font data with ID=1, 2, and 3 is necessary or optional.“Necessary” means that the font is always required for displaying thetext subtitle stream. “Optional” means that the font may be requiredwhen the user wishes to change displays or fonts. The fonts indicated asnecessary need to be read into the font buffer 11 without fail beforeplaying back AV streams.

FIG. 61 shows a pre-loading based on file management information. In thefile management information, it is written that the pre-loadings of thefont data with ID=1 and the font data with ID=2 are necessary.Consequently, as shown in FIG. 61, the loader 13 loads those sets offont data indicated as necessary into the buffer. After those necessarysets of font data have been loaded into the buffer, the loader 13 loadsthose sets of font data indicated as optional into the remaining area ofthe buffer.

As explained so far, according to the present embodiment, whetherpre-loading is necessary or optional is written in the file managementinformation. It is therefore possible to reduce the chances of having toload font data which may cause interruptions during playbacks ofAVClips, by performing the pre-loading with reference to the filemanagement information.

It should be noted that in the case where necessary font data cannot befound during an analysis of a text subtitle stream or in the case wherefont data cannot be read into buffer because the font data has not beenpre-loaded and a seamless playback is requested, it is acceptable touse, as an alternative, some other fonts that have been read into thetext code buffer and the font buffer 11 or the ones that have beenincorporated into playback apparatuses.

Ninth Embodiment

The present embodiment discusses a method for avoiding a situation inwhich unpre-loaded streams need to be read, with improvements made tostreams or management information.

A text subtitle stream sometimes has a blank period in which there areno subtitles. Out of pieces of PlayItem information, the piece ofPlayItem information that specifies such a blank period as an IN pointand an Out_time does not have a part of the corresponding text subtitlestream; therefore, people in charge of authoring may sometimes omitregistration of a PID of the text subtitle stream in the STN_Table forsuch a piece of PlayItem information.

However, some inconvenience described below will occur when descriptionin an STN_Table for a piece of PlayItem information is omitted, even ifit is for a blank period.

As shown in FIG. 62, a situation is imagined in which a plurality ofPlayItems are played back in series. It is assumed that a seamlessplayback is requested at the border between the PlayItem information #1and PlayItem information #2. Since the Japanese text subtitle streamthat is included in a SubPath and is to be pre-loaded has a blank periodin PlayItem information #1 and is therefore not registered in theSTN_Table. This text subtitle stream is to be played back in thesections of the PlayItem information #2 and the PlayItem information #3.

The loader 13 performs a pre-loading based on an STN_Table. As for apre-loading of a text subtitle stream, the loader 13 performs thepreloading of the text subtitle stream written in the STN_Table for thefirst piece of PlayItem information (PlayItem information #1) out of thepieces of PlayList information. Even if some text subtitle streamsbecome necessary during the playback, the loader 13 does not pre-loadthose text subtitle streams that are not written in the STN_Table of thefirst piece of PlayItem information. FIG. 63 shows a pre-loading basedon an STN_Table. In this drawing, the Japanese text is written in theSTN_Tables for PlayItem information #2 and PlayItem information #3, butis not written in the PlayItem information #1. Consequently, there is apossibility that the loader 13 may not pre-load the text subtitle streamin Japanese.

Before the playback of PlayItem information #2 starts, it is understoodthat some streams need to be pre-loaded from the STN_Table for PlayIteminformation #2; however, since a seamless playback is requested forPlayItem information #1 and PlayItem information #2, it is not possibleto interrupt the playback of the AV stream, and it is therefore notpossible to read the data into the text code buffer 10 and the fontbuffer 11. As a result, the streams to be pre-loaded which areinherently expected to be displayed will not be displayed.

In order to cope with this situation, for PlayItems that are to becontinuously played back in series, the streams that should bepre-loaded are registered in all the STN_Tables. With PlayIteminformation #1, PlayItem #1 will not be actually displayed, but since itis registered in the STN_Table, PlayItem #1 being the target is to bepre-loaded. When PlayItem #1 becomes necessary with PlayItem information#2, the data which has been already pre-loaded will be displayed. FIG.64 shows an example in which even if a part of a text subtitle streamspecified with an In_time and an Out_time in a piece of PlayIteminformation has a blank period, the PID of the text subtitle stream iswritten in the STN_Table of the piece of PlayItem information. In otherwords, the STN_Table for the piece of PlayItem information correspondingto the blank period is set to have a dummy value. With this arrangement,the Japanese text is pre-loaded and even if the Japanese language isselected during a playback of an AVClip, it is possible to switch overto the Japanese language without interrupting the playback of theAVClip.

Tenth Embodiment

Like in the previous embodiment, the present embodiment is related to ablank period. In the previous embodiment, the discussion is based on asituation where a blank period exists in the first piece of PlayIteminformation. In the present embodiment, the discussion will be based ona case where a blank period exists somewhere in PlayItem information. Inthe case where a portion specified withan In_time and an Out_time in apiece of PlayItem information is a blank period, the PID sometimes maynot be written into the STN_Table for the piece of PlayItem information.

FIG. 65 shows a case in which a PID of a PG-stream is written inSTN_Tables for PlayItem information #1 and the PlayItem information #3,but a PG stream in the PlayItem information #2 is a blank period so thatthe PID of the PG stream is not registered in the STN_Table for thePlayItem information #2.

In such a case, the stream registered in the STN_Table for the PlayIteminformation #2 is only the text subtitle stream to be pre-loaded. Asshown in FIG. 66, the stream to be pre-loaded is always selected.

Here, a discussion is provided for a case in which_a multiplexed PGstream is selected during the playback of PlayItem information #1, andthe contents of the text code buffer 10 and the font buffer 11 aretherefore destructed during the playback of PlayItem #1. In such a case,the loader 13 attempts to read the data again even if the data hasalready been deleted from the text code buffer 10 and the font buffer11.

Further, when a seamless playback is requested at the border between thePlayItem information #1 and PlayItem information #2, it is not possibleto perform the reading, and it is therefore not possible to display thePG stream even if it has been selected.

In order to prevent such a situation, even if a multiplexed stream doesnot exist in the PlayItem information #2, as shown in FIG. 67, the PIDof the PG stream is registered into the STN_Table as a dummy. When sucha dummy PID is registered in an STN_Table and if the PG stream isselected during a blank period, the consequence would be that nothingwill be displayed, and there will be no problem in selection of streams(FIG. 68). In addition, since it is possible to avoid a situation wherea stream to be pre-loaded is inevitably selected. Thus, it is possibleto avoid occurrence of seeks, and it is therefore possible to preventinterruptions during playbacks at the stage of authoring.

Additional Information

The description above does not include all the possible embodiments ofthe present invention. It is possible to embody the present invention inthe forms of embodiments with modifications as described below in (A),(B), (C), (D), and so on. The invention claimed in the claims of thepresent application is described so as to correspond to the embodimentsdescribed above and extended forms of the modifications thereof, orgeneralization thereof. The degree of the extension and thegeneralization is based on the features according to the technicalstandard in the field at the time of filing the application.

(A) In all the embodiments described above, a recording medium to beplayed back is described as a BD-ROM; however, the characteristic of therecording medium of the present invention lies in graphics streams beingrecorded thereon, and this characteristic does not depend on physicalproperties of BD-ROMs. The recording medium may be of any type as longas it is possible to record graphics streams thereon. For example,optical discs such as DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD+RW, DVD+R,CD-R, CD-RW, and the like, and optical-magnetic discs such as PD, MO andthe like are applicable. Semiconductor memory cards such as compactflash cards, Smart Media, Memory Sticks, MultiMedia Cards, and PCM-CIACards and the like are also applicable, as are (i) magnetic recordingdisks such as flexible disks, SuperDisk, Zip, Clik! and the like, and(ii) removable hard disk drives such as ORB, Jaz, SparQ, SyJet, EZFlyer,microdrive and the like. Furthermore, the recording medium may also be abuilt-in hard disk.

(B) According to the description of all of the embodiments, each of theplayback apparatuses decodes an AVClip recorded on a BD-ROM and outputsthe decoded AVClip to a TV; however, the playback apparatuses may bestructured from only a BD-ROM drive, and the TV may be equipped with allof the other elements. In this case, the playback apparatuses and the TVcan be incorporated into a home network connected using IEEE1394. Also,although the playback apparatuses in the embodiments are of a type usedafter connecting to a TV, integral display-playback apparatuses are alsoapplicable. Furthermore, the playback apparatuses of the embodiments maybe only the system LSIs (the integrated circuits) that perform essentialparts of the processing. Because these playback apparatuses and thesystem LSIs are all inventions disclosed in the specification of thepresent application, acts involving the manufacture of playbackapparatuses based on an internal structure of the playback apparatusesshown in the first embodiment are implementations of the inventionsdisclosed in the specification of the present application. Acts thatinvolve transferring, whether onerous or gratuitous, (retail when costis involved; a gift when no cost is involved), lending, or importing ofplayback apparatuses shown in the first embodiment are alsoimplementations of the present invention. Acts that involve approachingthe general user about transfer, rental or the like by means of storefront displays, catalogue solicitation, pamphlet distribution and thelike are also implementations of these playback apparatuses.

(C) Because of the information processing by computer programs shown inthe flow charts being realized specifically using hardware resources,computer programs showing the processing procedures in the flowchartsform an invention in their own right. Although all of the embodimentsshow embodiments that relate to the implementation of computer programspertaining to the present invention in an incorporated form in theplayback apparatuses, the computer programs shown in the embodiments maybe implemented in their own right, separate from the playbackapparatuses. The implementation of the computer programs in there ownright includes acts that involve: (1) production of the programs, (2)transference of the programs, either onerous or gratuitous (3) lendingof the programs, (4) importing of the programs, (5) providing theprograms publicly via bi-directional electronic communications circuits,and (6) approaching the general user about transfer, rental and the likeby means of store front displays, catalogue solicitation, pamphletdistribution, and so forth. (D) The “time” elements of the steps thatare executed chronologically in the flow charts are considered to berequisite items with which the present invention is identified.Accordingly, it is understood that the processing procedures shown inthese flow charts disclose usages of playback methods. Executing theprocessing shown in these flow charts by chronologically performing theprocessing in the steps so as to achieve the intended objects of thepresent invention and to have the functions and effects isimplementations of the recording methods of the present invention.

(E) When recording on a BD-ROM, extension headers preferably areappended to TS packets structuring AVClips. The extension headers, whichare called TP_extra_header, include an “Arrival_Time_Stamp” and a“copy_permission_indicator”, and have a 4-byte data length. TP extraheader-attached TS packets (hereinafter, abbreviated to “EX-attached TSpacket”) are arranged into groups of 32 packets, and written into threesectors. Each group comprising 32 EX-attached TS packets is 6,144 bytesin length (=32×192), and matches the 6,144-byte size of three sectors(=2048×3). The grouping of 32 EX-attached TS packets contained in threesectors is referred to as an “Aligned Unit”.

A playback apparatus transmits Aligned Units in transmission processingas described below, when used in a home network connected via IEEE1394.That is, a device on the side of the sender removes the TP_extra_headerfrom each of the 32 EX-attached TS packets included in an Aligned Unit,and outputs the TS packets after encoding the TS packet body based on aDTCP standard. When outputting TS packets, isochronous packets areinserted at various positions between TS packets. The positioning ofisochronous packets is based on times shown in the Arrival_Time_Stamp ineach TP_extra_header. The playback apparatus outputs a DTCP_Descriptorwhen outputting the TS packets. The DTCP_Descriptor shows a copypermissibility setting in each TP extra_header. Here, if theDTCP_Descriptor is described so as to show “copy prohibited”, TS packetswill not be recorded on other devices when used in a home networkconnected via IEEE1394.

(F) Although digital streams discussed in the embodiments are AVClipscomplying with a BD-ROM standard, the digital streams may be VOBs (VideoObjects) complying with a DVD-Video standard or a DVD-Video Recordingstandard. VOBs are program streams compliant with ISO/IEC13818-1obtained by multiplexing video and audio streams. Also, video streams inAVClips may be MPEG-4 format, WMV format, or the like. Furthermore,audio streams may be a Linear-PCM format, MP3 format, or MPEG-AACformat.

(G) Movie productions in the embodiments may be obtained by encodinganalog video signals broadcasted by analog broadcast, or may be streamdata constituted from transport streams broadcasted by digitalbroadcast.

Also, contents may be obtained by encoding analog/digital video signalsrecorded on videotape. Furthermore, contents may be obtained by encodinganalog/digital video signals taken directly from a video camera.Alternatively, the contents may be digital copyrighted works distributedfrom a distribution server.

(H) It is acceptable to have an arrangement wherein the stream selectionunit 17 determines a value (a value X) to be set in a PSR based on useroperation information outputted from the operation receiving unit 3 anda button command in the IG stream and performs the processing ofupdating the PSR based on the value X. In such a case, if the useroperation information outputted from the operation receiving unit 3indicates that an audio switch key or a sub-image switch key has beenpushed, a value obtained by adding 1 to the value in the PSR is taken asthe value X. If the user operation information outputted from theoperation receiving unit 3 indicates that a numeral key has been pushed,the numeral value having been pushed is taken as the value X. On theother hand, if a button command outputted from the operation receivingunit 3 is to instruct the playback apparatus to set the PSR, the valuespecified by an argument of the button command is taken as the value X.After the value X is determined in these ways, it is judged whether thevalue X is a valid value, an inconstant value, or an invalid value. Theprocessing of updating the PSR is performed according to the result ofthe judgment. In the case where the value X is valid, the PSR isoverwritten with the value X. In the case where the value X is aninconstant value, a most appropriate value is selected and set into thePSR. In the case where the value X is invalid, the value in the PSR ismaintained.

(I) It is acceptable to provide a button called “optimization button” ina set-up menu to be displayed to receive the language settings forsubtitles. The button information corresponding to the button has abutton command for setting an inconstant value in PSR2. When theoptimization button is confirmed so that the button command is executed,inconstant values are set in PSR1 and PSR2. The “Procedure when playbackcondition is changed” is then activated, and an audio stream and aPG_textST_stream that are most appropriate will be selected.

(J) In the first embodiment, the criteria to be satisfied are two,namely (a) and (b); however, it is acceptable to use three or morecriteria.

INDUSTRIAL APPLICABILITY

The playback apparatus of the present invention can be mass-producedbased on its internal structure shown in the embodiments above. As such,the playback apparatus of the present invention has the industrialapplicability.

1. A playback apparatus for selecting one among a plurality of textsubtitle streams and playing back the selected text subtitle streamtogether with a moving picture, the playback apparatus comprising: aregister set storing therein a plurality of flags whose set valuesindicate, for each language, whether or not a decode capability ispresent; a judging unit operable to judge whether or not each of theplurality of text subtitle streams can be decoded, by referring to eachset value of the plurality of flags in the register set; and a selectingunit operable to select a text subtitle stream which was judged by thejudging unit to be able to be decoded, wherein the decode capability fora language being present indicates presence of a rendering capabilityfor converting character codes of the language into bitmaps, and asupport capability for supporting properties of the language, and theregister set includes a permission flag that indicates whether or notthe selecting unit is permitted to select a text subtitle stream of anunsupported language for which the rendering capability is present butthe support capability is not present.
 2. The playback apparatus ofclaim 1 further comprising: an updating unit operable to update the setvalue in each flag stored in the register set; and a supplementaryjudging unit operable to perform a supplementary judgment to judgewhether or not each text subtitle stream has a language attribute of anunsupported language, and the indication of the permission by thepermission flag is achieved as the updating unit updates a set value ofa flag for an unsupported language in the register set to indicate thatthe decode capability is present.
 3. The playback apparatus of claim 1further comprising a supplementary judging unit operable to perform asupplementary judgment to judge whether or not each text subtitle streamhas a language attribute of an unsupported language, and the indicationof the permission by the permission flag is achieved by treating a textsubtitle stream, which has an unsupported language attribute, as anequivalent of a text subtitle stream which was judged to be able to bedecoded.
 4. A program for causing a computer to execute a process ofselecting one among a plurality of text subtitle streams and playingback the selected text subtitle stream together with a moving picture,the program comprising the steps of: judging whether or not each of theplurality of text subtitle streams can be decoded by referring to setvalues of a plurality of flags stored in a register set, the set valuesindicating, for each language, whether or not a decode capability ispresent; and selecting a text subtitle stream which was judged by thejudging unit to be able to be decoded, wherein the decode capability fora language being present indicates presence of a rendering capabilityfor converting character codes of the language into bitmaps, and asupport capability for supporting properties of the language, and theregister set includes a permission flag that indicates whether or notthe selecting unit is permitted to select a text subtitle stream of anunsupported language for which the rendering capability is present butthe support capability is not present.
 5. A playback method forselecting one among a plurality of text subtitle streams and playingback the selected text subtitle stream together with a moving picture,the playback method comprising the steps of: judging whether or not eachof the plurality of text subtitle streams can be decoded by referring toset values of a plurality of flags stored in a register set, the setvalues indicating, for each language, whether or not a decode capabilityis present; and selecting a text subtitle stream which was judged by thejudging unit to be able to be decoded, wherein the decode capability fora language being present indicates presence of a rendering capabilityfor converting character codes of the language into bitmaps, and asupport capability for supporting properties of the language, and theregister set includes a permission flag that indicates whether or notthe selecting unit is permitted to select a text subtitle stream of anunsupported language for which the rendering capability is present butthe support capability is not present.